Heim  >  Artikel  >  Backend-Entwicklung  >  Kann Python Differentialgleichungen lösen?

Kann Python Differentialgleichungen lösen?

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼Original
2019-06-18 15:11:105307Durchsuche

Sympy

Sympy ist eine mathematische Symbolbibliothek (sym steht für Symbol, Symbol), die verschiedene mathematische Operationsmethoden wie Integrale und Differentialgleichungen umfasst und bereitgestellt wird Python bietet leistungsstarke Unterstützung für mathematische Operationen. Obwohl für Bilder diskrete Berechnungen durchgeführt werden und die meisten Operationen Arrays in Numpy sind, enthält diese Bibliothek tatsächlich die grundlegendsten mathematischen Operationen wie Integraldifferential, Trigonometrie usw. Sie kann als die grundlegendste in der Technik bezeichnet werden. Verwendung Es ist vergleichbar mit Matlab.

Kann Python Differentialgleichungen lösen?

Sympy-Installation

Sudo pip install sympy oder Sudo pip3 install sympy

Wenn Sie Anaconda verwenden, dann Conda Sympy installieren

Verwandte Empfehlungen: „Python-Video

Odeint()-Funktion

Odeint()-Funktion ist ein Scipy Bibliothek Die Funktion
odeint(), die eine Differentialgleichung numerisch löst, erfordert mindestens drei Variablen. Die erste ist die Differentialgleichungsfunktion, die zweite ist der Anfangswert der Differentialgleichung und die dritte ist die unabhängige Variable des Differentials .

Beispiel:

#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()

Das Ausgabeergebnis lautet wie folgt:

Kann Python Differentialgleichungen lösen?

Das obige ist der detaillierte Inhalt vonKann Python Differentialgleichungen lösen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn