je dois tracer un graphique montrant 2 variables, avec un second ordre ODE avec RK4, jusqu'à présent je l'ai fait cesecond ordre ODE avec RK4
from numpy import arange
from pylab import plot,xlabel,ylabel,show
Qger = 400
K = 20
T1 = 150
T2 = 60
N = 1000
h = (T2-T1)/N
rpoints = arange(6.0,8.0,h)
xpoints = []
x = 423
def df(s,t):
dTdt = -Qger*t/(2*K) + 172.8/t
return dTdt
for r in rpoints:
xpoints.append(x)
k1 = h*df(x,r)
k2 = h*df(x+0.5*k1,r+0.5*h)
k3 = h*df(x+0.5*k2,r+0.5*h)
k4 = h*df(x+k3,r+h)
x += (k1+2*k2+2*k3+k4)/6
pylab.plot(rpoints,xpoints)
pylab.xlabel("Raio")
pylab.ylabel("Temperatura")
pylab.show
Mais c'est un RK4 pour une première commande ODE, parce que je ne savais pas et intégré par main, mais je ne peux pas le faire et ni utiliser scipy, donc quelqu'un peut-il m'expliquer comment intégrer cette fonction ou utiliser RK4 avec un second ordre ODE. La fonction est ci-dessous.
C'est la fonction, que T et r sont des variables, le reste est 0
La [documentation de scipy pour 'odeint'] (https://docs.scipy.org/doc/scipy-0.19.0/reference/generated/scipy.integrate.odeint.html) contient un exemple détaillé de la solution d'une ODE de 2ème ordre. Étudiez cet exemple et revenez (peut-être dans une autre question ...) pour obtenir de l'aide sur des questions spécifiques. Comme ta question est mauvaise ... – gboffi