>source

파이썬에서이 코드를 실행 한 후


import numpy as np
import matplotlib.pyplot as plt
from mpmath import *
h=100
k=0.1
y = np.linspace(-0.5,0.5,100)
f = lambda y: (h/k)*(1- sech(0.5 * k**0.5) * cosh(y * k**0.5))
fp = f(y)
plt.plot(fp,y)
plt.xlabel('f')
plt.ylabel('y')
plt.xlim(0, 13)
plt.ylim(-0.5, 0.5)
plt.legend(['Analytical'])
plt.grid(True)
plt.show()

다음과 같은 오류가 발생했습니다.

ValueError : x와 y는 첫 번째 차원이 동일해야하지만 (1,) 및 (100,) 모양이 있어야합니다.

  • 답변 # 1

    귀하의 문제는 mpmath 모듈 (내가 사용한 적이 없음)

    삼각 연산을 기본 numpy로 변경하는 것만으로도 작업이 완료되었습니다.

    import numpy as np
    import matplotlib.pyplot as plt
    h=100
    k=0.1
    y = np.linspace(-0.5,0.5,100)
    f = lambda y: (h/k)*(1- (1/np.cosh(0.5 * k**0.5)) * np.cosh(y * k**0.5))
    fp = f(y)
    plt.plot(fp,y)
    plt.xlabel('f')
    plt.ylabel('y')
    plt.xlim(0, 13)
    plt.ylim(-0.5, 0.5)
    plt.legend(['Analytical'])
    plt.grid(True)
    plt.show()
    
    

관련 자료

  • 이전 reactjs - useState ()를 제대로 사용하지 않는 사용자 지정 후크?
  • 다음 java - build-helper-maven-plugin을 사용하여 Jar에서 파일 제외