Aidez-moi à comprendre pourquoi ce code ne fonctionne pas. Je sais qu'il y a quelque chose de très stupide. Cela devrait être une implémentation de l'algorithme Runge Kutta du quatrième ordre pour résoudre le système d'équations de Lorentz. Je ne peux pas utiliser une fonction car est une erreur de assignment.The sont:Erreur de débordement dans le programme Python
Avertissement (du module avertissements): Fichier "/Users/giuseppenegro/Desktop/loretnz.py", ligne 21 fy = x * ro-yx * z RuntimeWarning: débordement rencontré dans double_scalars
avertissement (du module avertissements): fichier "/Users/giuseppenegro/Desktop/loretnz.py", ligne 22 fz = x * y * z-bêta RuntimeWarning: débordement rencontré dans double_scalars
Avertissement (du module des avertissements): Fichier "/Users/giuseppenegro/Desktop/loretnz.py", ligne 22 = fz x * y * z-bêta RuntimeWarning: valeur non valide rencontré dans double_scalars
Warning (module de mises en garde): Fichier «/Users/giuseppenegro/Desktop/loretnz.py », ligne 32 r + = (k1 + k2 * 2 + 2 * k3 + k4)/6 RuntimeWarning: valeur non valide rencontré dans ajouter
from numpy import array,arange,zeros
from pylab import plot,xlim,show
ro=28
beta=8/3
sigma=10
a=0
b=50
r=array([0.0,1.0,0.0],float)
N=10
h=(b-a)/N
tpoints=arange(a,b,h)
xpoints=[]
ypoints=[]
zpoints=[]
def f(r,t):
x=r[0]
y=r[1]
z=r[2]
fx =sigma*(y-x)
fy =x*ro-y-x*z
fz =x*y-beta*z
return array([fx,fy,fz],float)
for t in tpoints:
xpoints.append(r[0])
ypoints.append(r[1])
zpoints.append(r[2])
k1=h*f(r,t)
k2=h*f(r+0.5*k1,0.5*h+t)
k3=h*f(r+0.5*k2+0.5,0.5*h+t)
k4=h*f(r+k3,t+h)
r+=(k1+2*k2+2*k3+k4)/6
Pourriez-vous expliquer ce que vous entendez par "ça ne marche pas"? –
Il me donne l'erreur "débordement rencontré dans double_scalars" – user3691737
Où vous donne-t-il cette erreur? – SirGuy