7. Équations et systèmes d’équations diérentielles
165
les éléments triangulaires supérieurs sont nuls et un vecteur e =(e 1 > ===> e u ),
l’algorithme de Runge-Kutta est le suivant
;
?
=
| l+1 = | l + k=(e 1 n 1 + ===e u n u )
{ l+1 = { l + k
n m = i ({ l + f m k> | l + k(d m1 n 1 + ==== + d mu n u ))
Le vecteur e vérifie e 1 + === + e u =1 . Les coe!cients f l sont les sommes
des éléments d’une ligne de la matrice D. Les éléments supérieurs de D
sont nuls d lm =0si m l= Dans ces méthodes, le pas k peut facilement
varier (k l ). Une méthode de Runge-Kutta est entièrement déterminée par
la donnée de l’entier u, du vecteur e et de la matrice D.
Méthodes d’ordre 1.P o u re =1et d 11 =0 , l’algorithme | l+1 = | l +
k=i ({ l >| l ) se réduit à la méthode d’Euler. Pour e =1et d 11 =1 , l’algorithme de Runge-Kutta | l+1 = | l + k=i ({ l+1 >| l+1 ) conduit à la méthode
d’Euler rétrograde (méthode implicite).
Méthodes d’ordre 2. Pour déterminer toutes les méthodes d’ordre 2, cherchons une fonction de la forme
= e 1 n 1 + e 2 n 2
où les coe!cients n 1 et n 2 sont donnés par
n 1 = i ({ l >| l )
n 2 = i ({ l + fk> | l + dkn 1 )
Développons | l+1 au voisinage du point ({ l >| l )>
| l+1 = |({ l )+ki ({ l >|({ l )) +
k
2
2
(
Ci
C{
({ l >|({ l )) + i ({ l >|({ l )))
Ci
C|
({ l >|({ l ))
De même, développons n 2 au voisinage de ({ l >| l )
| l+1 = | l +ke 1 n 1 +ke 2 (i ({ l >| l )+kf
Ci
C{
({ l >| l )+dki ({ l >| l )
Ci
C|
({ l >| l ))+R(k
2 )
En identifiant les deux expressions, il vient
;
?
=
|({ l )=| l
i ({ l >| l )=(e 1 + e 2 )i ({ l >| l )
1
2 i
0
{ +
1
2 i
0
| i = e 2 (fi
0
{ + di
0
| i )
On en déduit que e 1 + e 2 =1et e 2 f = e 2 d =1@2. Soit en posant e 2 = et
e 1 =1 et f = d =1@2> on retrouve les trois cas standards. La méthode
d’Euler s’obtient pour =0
| l+1 = | l + ki ({ l >| l )
Précédent

- 163/283

Suivant