166
Méthodes de Runge-Kutta
L am é t h o d ed eH e u n( o ud ’ E u l e r - C a u c h y )e s to b t e n u ep o u r =1@2
;
?
=
| l+1 = | l + k(n 1 + n 2 )@2
n 1 = i ({ l >| l )
n 2 = i ({ l + k> | l + kn 1 )
La méthode de Runge-Kutta (proprement dite) est obtenue pour =1
;
?
=
| l+1 = | l + kn 2
n 1 = i ({ l >| l )
n 2 = i ({ l + k@2>| l + kn 1 )
Méthodes d’ordre 3. L’algorithme de Runge-Kutta classique correspond au
cas e =(1@6> 2@3> 1@6) et à la matrice
D =
3
C
00 0
1@200
120
4
D
L’algorithme eectue à chaque pas le calcul de trois facteurs n l
;
A A ?
A A =
| l+1 = | l + k(n 1 +4n 2 + n 3 )@6
n 1 = i ({ l >| l )
n 2 = i ({ l + k@2>| l + kn 1 @2)
n 3 = i ({ l + k> | l kn 1 +2kn 2 )
Pour améliorer l’e!cacité du calcul, on utilise des méthodes à pas variable,
c’est-à-dire des méthodes dans lesquelles le pas varie à chaque itération.
Une des méthodes classiques consiste à employer deux méthodes de RungeKutta emboîtées. La première méthode d’ordre u sert à calculer la solution
approchée, tandis que la seconde méthode d’ordre u
0
sert à estimer l’erreur
de consistance pour contrôler le pas. On dit que la méthode est d’ordre
(u
0 >u). Proposée en 1957, la méthode de Merson est la première méthode
de Runge-Kutta emboîtée. Elle consiste à calculer
;
A A A A A A A A ?
A A A A A A A A =
n 1 = i ({ l >| l )
n 2 = i ({ l + k@3>| l + kn 1 @3)
n 3 = i ({ l + k@3>| l kn 1 @6+kn 2 @6)
n 4 = i ({ l + k@2>| l + kn 1 @8+3kn 2 @8)
n 5 = i ({ l + k> | l + kn 1 @2 3kn 3 @2+2kn 1 )
| l+1 = | l + k(n 1 +4n 2 + n 3 )@6
|
l+1 = | l + k(n 1 3n 3 +4n 4 )@2
L’erreur
l =
¯
¯ | l+1 |
l+1
¯
¯
est évaluée à chaque pas. Si % désigne la tolérance acceptée, l’algorithme
de Merson divise le pas par facteur 2 quand l A% , multiplie le pas par
Méthodes de Runge-Kutta
L am é t h o d ed eH e u n( o ud ’ E u l e r - C a u c h y )e s to b t e n u ep o u r =1@2
;
?
=
| l+1 = | l + k(n 1 + n 2 )@2
n 1 = i ({ l >| l )
n 2 = i ({ l + k> | l + kn 1 )
La méthode de Runge-Kutta (proprement dite) est obtenue pour =1
;
?
=
| l+1 = | l + kn 2
n 1 = i ({ l >| l )
n 2 = i ({ l + k@2>| l + kn 1 )
Méthodes d’ordre 3. L’algorithme de Runge-Kutta classique correspond au
cas e =(1@6> 2@3> 1@6) et à la matrice
D =
3
C
00 0
1@200
120
4
D
L’algorithme eectue à chaque pas le calcul de trois facteurs n l
;
A A ?
A A =
| l+1 = | l + k(n 1 +4n 2 + n 3 )@6
n 1 = i ({ l >| l )
n 2 = i ({ l + k@2>| l + kn 1 @2)
n 3 = i ({ l + k> | l kn 1 +2kn 2 )
Pour améliorer l’e!cacité du calcul, on utilise des méthodes à pas variable,
c’est-à-dire des méthodes dans lesquelles le pas varie à chaque itération.
Une des méthodes classiques consiste à employer deux méthodes de RungeKutta emboîtées. La première méthode d’ordre u sert à calculer la solution
approchée, tandis que la seconde méthode d’ordre u
0
sert à estimer l’erreur
de consistance pour contrôler le pas. On dit que la méthode est d’ordre
(u
0 >u). Proposée en 1957, la méthode de Merson est la première méthode
de Runge-Kutta emboîtée. Elle consiste à calculer
;
A A A A A A A A ?
A A A A A A A A =
n 1 = i ({ l >| l )
n 2 = i ({ l + k@3>| l + kn 1 @3)
n 3 = i ({ l + k@3>| l kn 1 @6+kn 2 @6)
n 4 = i ({ l + k@2>| l + kn 1 @8+3kn 2 @8)
n 5 = i ({ l + k> | l + kn 1 @2 3kn 3 @2+2kn 1 )
| l+1 = | l + k(n 1 +4n 2 + n 3 )@6
|
l+1 = | l + k(n 1 3n 3 +4n 4 )@2
L’erreur
l =
¯
¯ | l+1 |
l+1
¯
¯
est évaluée à chaque pas. Si % désigne la tolérance acceptée, l’algorithme
de Merson divise le pas par facteur 2 quand l A% , multiplie le pas par
