Institut Fourier L3 M´ethodes Num´eriques
Universit´e Grenoble I 2`eme semestre 2007/2008
Simulation des ´ equations diff´ erentielles ordinaires
On souhaite int´egrer num´eriquement l’´equation diff´erentielle y0(t) = f(t, y(t)) , y(0) = ˜y .
Pour cela, on se fixe un pas de temps h et on va calculer une approximation des vecteurs yn = y(nh) pour n ∈ N. On pose bien sˆur y0 = ˜y, puis on calcule successivement les yn par la m´ethode choisie, par exemple :
Euler explicite : yn+1=yn+hf(tn, yn).
Euler implicite : yn+1 = yn+hf(tn+1, yn+1), n´ecessite une r´esolution d’une ´equation non-lin´eaire (par exemple par la m´ethode de Newton).
Point milieu :
ymil =yn+h/2∗f(tn, yn) yn+1=yn+hf(tn+h/2, ymil)
Runge-Kutta 4 :
p1 =f(tn, yn)
t2 =tn+h/2 y2 =yn+h/2∗p1 p2 =f(t2, y2) t3 =tn+h/2 y3 =yn+h/2∗p2 p3 =f(t3, y3) t4 =tn+h=tn+1 y4 =yn+h∗p3 p4 =f(t4, y4) yn+1 =yn+h∗ 1
6p1 +26p2+26p3+ 16p4
N.B. 1 : si on simule une ´equation diff´erentielle d’ordre k sur Rd, il faut bien sˆur la mettre d’abord sous forme d’une ´equation diff´erentielle d’ordre 1 sur Rdk.
N.B. 2 : on notera queyn+1 ≈yn+R(n+1)h
nh f(y(t))dt. Il y a donc un lien entre ces m´ethodes et l’int´egration num´erique. Par exemple, les m´ethodes d’Euler explicite et implicite corre- spondent respectivement aux m´ethodes des rectangles `a gauche et `a droite.
Avertissement : pour les projets, on pourra utiliser la commande ode de Scilab, mais il faudra imp´erativement programmer au moins une des m´ethodes pr´ec´edentes de fa¸con explicite.
1