Maison  >  Article  >  développement back-end  >  Python peut-il résoudre des équations différentielles ?

Python peut-il résoudre des équations différentielles ?

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼original
2019-06-18 15:11:105357parcourir

Sympy

Sympy est une bibliothèque de symboles mathématiques (sym signifie symbole, symbole), comprenant diverses méthodes d'opérations mathématiques telles que les intégrales et les équations différentielles, et est prévue pour python Fournit un puissant support d'opérations mathématiques. Pour les images, bien que des calculs discrets soient effectués et que la plupart des opérations soient des tableaux dans numpy, en fait, cette bibliothèque contient les opérations mathématiques les plus élémentaires telles que la différentielle intégrale, la trigonométrie, etc. Utilisation C'est comparable à Matlab.

Python peut-il résoudre des équations différentielles ?

installation de sympy

sudo pip install sympy ou sudo pip3 install sympy

Si vous utilisez anaconda alors conda installer sympy

Recommandations associées : "vidéo python"

fonction odeint()

la fonction odeint() est un scipy bibliothèque La fonction
odeint() qui résout numériquement une équation différentielle nécessite au moins trois variables. La première est la fonction d'équation différentielle, la seconde est la valeur initiale de l'équation différentielle et la troisième est la variable indépendante de l'équation différentielle. .

Exemple :

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

Le résultat de sortie est le suivant :

Python peut-il résoudre des équations différentielles ?

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn