4.3.4 Solution approchée de y’=f(t,y) : odesolve
-
Soit f une fonction de ℝ2
dans ℝ.
odesolve(f(t,y),[t,y],[t0,y0],t1) ou
odesolve(f(t,y),t=t0..t1,y,y0) ou
odesolve(t0..t1,f,y0) ou
odesolve(t0..t1,(t,y)->f(t,y),y0)
renvoie la valeur approchée de
y(t1) lorsque y(t) est la
solution de y′(t)=f(t,y(t)) qui vérifie y(t0)=y0.
- On peut ajouter un paramètre optionnel pour
indiquer la discrétisation en temps souhaitée
(tstep=valeur). Cette valeur n’est pas forcément
respectée par le solver.
- On peut indiquer en paramètre optionnel curve
pour obtenir la liste des [t,[y(t)]] calculés au lieu
de la seule valeur de y(t1).
On tape :
odesolve(sin(t*y),[t,y],[0,1],2)
ou :
odesolve(sin(t*y),t=0..2,y,1)
ou :
odesolve(0..2,(t,y)->sin(t*y),1)
ou encore on définit la fonction :
f(t,y):=sin(t*y)
et on tape:
odesolve(0..2,f,1)
On obtient :
[1.82241255675]
puis on tape :
odesolve(0..2,f,1,tstep=0.3)
On obtient :
[1.82241255675]
On tape :
odesolve(sin(t*y),t=0..2,y,1,tstep=0.5)
On obtient :
[1.82241255675]
On tape :
odesolve(sin(t*y),t=0..2,y,1,tstep=0.5,curve)
On obtient :
[[0.760963063136,[1.30972370515]],[1.39334557388,[1.86417104853]]]