Maison > Article > développement back-end > Python peut-il résoudre des équations différentielles ?
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.
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 :
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!