>  기사  >  백엔드 개발  >  파이썬이 미분방정식을 풀 수 있나요?

파이썬이 미분방정식을 풀 수 있나요?

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼원래의
2019-06-18 15:11:105349검색

Sympy

Sympy는 적분, 미분방정식 등 다양한 수학적 연산 방법을 포함하는 수학 기호 라이브러리(sym은 기호, 기호를 나타냄)로, Python에 대한 강력한 수학적 연산 지원을 제공합니다. 이미지의 경우 모두 이산 계산을 하고 있고 가장 많은 연산이 numpy의 배열이지만 사실 이 라이브러리에는 적분미분, 삼각법 등 가장 기본적인 수학 연산이 포함되어 있습니다. 가장 기본적이라고 할 수 있습니다. 엔지니어링에서는 MATLAB과 비슷합니다. ㅋㅋㅋ

파이썬이 미분방정식을 풀 수 있나요?odeint() 함수는 미분방정식을 수치적으로 푸는 scipy 라이브러리의 함수입니다.

odeint() 함수에는 최소 3개의 변수가 필요합니다. 첫 번째는 미분방정식 함수이고, 두 번째는 미분방정식의 초기값입니다. , 세 번째는 미분독립변수이다.

예:

#y"+a*y'+b*y=0 
from scipy.integrate import odeint        #使用odeint之前,首先从scipy.integrate中调用它from pylab import *
def deriv(y,t):        # 返回值是y和y的导数组成的数组
    a = -2.0
    b = -0.1
    return array([ y[1], a*y[0]+b*y[1] ])
time = linspace(0.0,50.0,1000)
yinit = array([0.0005,0.2])     # 初值
y = odeint(deriv,yinit,time)
 
figure()
plot(time,y[:,0],label='y')    #y[:,0]即返回值的第一列,是y的值。label是为了显示legend用的。
plot(time,y[:,1],label="y'")     #y[:,1]即返回值的第二列,是y’的值
xlabel('t')
ylabel('y')
legend()
show()

출력 결과는 다음과 같습니다.

위 내용은 파이썬이 미분방정식을 풀 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.