‘er.
Fauations différentielles 389
Il est intéressant de comparer sur une base aussi rigoureuse que possible
es différentes méthodes vues jusqu’a maintenant. On a constaté que plus
ordre d’une méthode est élevé, plus cette méthode est précise. Par contre,
plus ordre de la méthode est élevé, plus elle est cofiteuse en temps de
" calcul. Par exemple, la méthode d’Euler (d’ordre 1) ne nécessite qu’une seule
valuation de la fonction f(t, y) a chaque pas de temps, alors que la méthode
_ @’Buler modifiée (d’ordre 2) en demande 2 et que la méthode de Runge-Kutta
_d'ordre 4 exige 4 évaluations de la méme fonction. En d’autres termes, la
" méthode de Runge-Kutta d’ordre 4 demande a peu prés deux fois plus de
~ calculs que la méthode d’Euler modifiée et quatre fois plus que la méthode
_ d'Euler.
Il est raisonnable de se demander s'il n’est pas préférable d’utiliser la
méthode d’Euler avec un pas de temps 4 fois plus petit ou la méthode d’Euler
modifiée d’ordre 2 avec un pas de temps 2 fois plus petit, plutét que de se
servir de la méthode de Runge-Kutta d’ordre 4. L’exemple qui suit permet
de comparer les différentes méthodes sur une base plus équitable,
Exemple 7.9
On considere l’équation différentielle habituelle :
u(t) =-v(t)+t+1 (0) =1)
On recourt 4 3 méthodes de résolution : la méthode d’Euler avec un pas h =
0,025, la méthode d’Euler modifiée avec h = 0,05 et la méthode de Runge-
Kutta d’ordre 4 avec h = 0,1. Ces valeurs de h permettent de comparer ces
3 méthodes sur la base de coats de calculs & peu prés équivalents. Le tableau
suivant présente les résultats obtenus en t = 1 pour ces différents choix. La
valeur exacte de la solution est y(1) = 1,367879 4412.
Comparaison des différentes méthodes : ’(@) = —y(@) +t +1
Méthode h_ [Nombre de pas| Résultat Erreur
Euler 0,025 40 1,363 232 37417 | 0,464 x 10~
Euler modifiée | 0,05 20 1,368 038 621 67 | 0,159 x 10-8
Runge-Kutta | 0,1 10 1,367 87977441 | 0,333 x 10~°
Les résultats sont éloquents. Méme en prenant un pas de temps quatre fois
plus petit, la méthode d’Euler reste trés imprécise par rapport a celle de
Runge-Kutta d’ordre 4. On peut porter le méme jugement sur la méthode
d’Euler modifiée. Il est donc généralement préférable d’utiliser des méthodes
ordre aussi élevé que possible. Ml
7.4.3 Contréle de erreur
Nous n’avons considéré jusqu’a maintenant que des méthodes de résolu-
tion a pas de temps h fixé dés le départ. Ces méthodes sont certes tres utiles,390 Chapitre 7
mais souffrent de 2 inconvénients majeurs :
~ il faut déterminer le pas de temps A un peu au hasard ;
~ il n'y a aucun contréle sur la précision des résultats.
Il est cependant important dans certaines situations de bien controler la
précision des résultats numériques. Ce sera le cas lorsque la solution d’un.
Probleme présente de trés brusques variations dans certaines régions. Une
valeur donnée du pas de temps h peut étre tout a fait adéquate dans certaines
régions et trop grande (ou trop petite) ailleurs.
Liidée est alors de se servir du pas de temps h pour contréler la précision,
Si la solution présente des variations brusques, on prendra un pas de temps
plus petit et on l'augmentera éventuellement 1A od la solution varie plus
Jentement.
La famille des méthodes de Runge-Kutta se préte parfaitement A cet
cxercice. Tout comme pour les méthodes de Runge-Kutta d'ordre 2 (sec.
tion 7.4.1), on sait qu'il existe toute une famille de méthodes de Runge-Kutta
dordre 4, 5 et meme plus. Nous en avons vu une variante d’ordre 4 a la sec.
tion 7.4.2. I existe cependant une combinaison particuliérement utile due a
Fehlberg [14] et que nous allons maintenant décrire. On définit en premier
lieu les 6 constantes suivantes :
kK = Af(tiyi)
1 1
ky = hf («+ jhutin)
3 3 9
ky = hf («+ ght oh + wn)
1 ot
ky = it (ut Bia 932 7200 7296 )
ai97*' ~ dion + aro7h
439 3680, 845
hs = 1S (to han + hy — ae 4 HO hs ~ Gime)
1 8 3544, 1859, 1,
ke = Wf (i phar poh + 2h — ay 1, hy)
A Vaide de ces constantes kj, on construit une méthode de Runge-Ki
ordre 4 (tr41(h) = O(h*)) :
25 1408, 2197, 1 ae
= = — ahs - =I tn
Yai at (Fits + bin + 2, Hs) Yn + hb(tns Yn)SL
Juations différentielles
une autre d’ordre 5 (Fn4i(h) = O(h5)) :
16 6656 28561 9 2 2
[= wot (ph + t2805 8+ 56430 "4 - 50% + a) = yn thG(tny Yn)
qui sont 2 approximations d’ordres différents de la méme quantité. L’intérét
‘cette combinaison de deux méthodes est qu’elle ne requiert le calcul que
6 constantes kj au total, et ce, pour les deux approximations.
La méthode de base sera celle d’ordre 4 et I’on se servira de la méthode
oa E
Ds ordre 5 pour contréler la valeur du pas de temps h et par le fait méme
tus erreur. Nous supposerons dans ce qui suit que ’algorithme débute a partir
dune valeur yp exacte, c’est-A-dire ym = y(tn). Cette hypothese est impor-
vet tante, car elle suppose qu’aucune erreur n’a été accumulée jusqu’au pas de
x temps tn. Puisque nous avons supposé que Yn = y(tn), on a:
ita
x (tns1) —Yns1 = y(tn41) — Yn — hd (tn, Yn)
1a
er = y(tntr) — y(tn) ~ hb(tns y(tn))
= hmya(h) = OF)
De méme, on montre que :
ultns1) ~ Sng = hing (h) = O(h°)
ce qui entraine que :
u(tn41) ~ Ynsi = (yltne1) ~ Hn4t) + (Gn+1 = Yas)
et done que :
htnsi(h) = hingi(h) + Gn+1 — Yat)
En regardant de chaque cété de l’égalité, on constate que :
O(K®) = O(R8) + net ~ Yast)
Pour que l’égalité puisse avoir lieu, il faut que =
(tnt) — Ymtt = Gn — Yas) = OCF)
et l'on en conclut que la partie la plus importante de l’erreur commise fait
tout simplement intervenir la différence entre les approximations d’ordre 4
et 5. On en conclut également que la quantité E définie par :
1 128 2197 aly
2
= (eu - ee ee cer
B= ost — Yas) (aah wars ~ T5240" + 50" * 55 *)
(73392 Chapitre 7
est déterminante pour controler l’erreur. En effet, pour une précision tol
spécifiée a V'avance, on calcule l'approximation 7.13 et l'on modifie A de
maniere a rencontrer le critére de précision. Cela signifie que la valeur de h
sera augmentée si l’erreur constatée est trés petite et sera diminuée si l'erreur
est jugée trop grande. Pour y arriver, rappelons que :
ultns1) ~ Yng = C(h)> = E
On remplace alors h par Bh de sorte que :
ultn+1) = Yn+i = O(Bh)° = tol
En faisant le quotient des deux derniéres relations, on a :
tol tol V5
5 my SOP a(S
BF =F ou encore 6 = (3)
ce qui nous donne le facteur de réduction (ou d’augmentation si 8 > 1)
souhaité du pas de temps h. Pour plus de sécurité, on peut introduire un
facteur 2 supplémentaire de sorte que :
pe (3) * os () “ (7.14)
ce qui donne une meilleure assurance d’atteindre la précision désirée. On
remplace ainsi la valeur actuelle de A par une nouvelle quantité Bh. En
pratique, on évitera de diminuer (d’augmenter) trop fortement la valeur de
fen lui fixant une valeur maximale. On peut prendre par exemple :
Imax = ti=t0)
16
&
oa ty est le temps final que l’on souhaite atteindre. Le facteur 16 est arbi-
traire, mais semble donner de bons résultats en pratique. De méme, on peu 7
prendre : .:
hw fimas :
8 a a
comme valeur initiale du pas de temps. Ainsi, Palgorithme résultant n’ex e
pas de donner cette valeur initiale puisqu’on la détermine automatiquement Pp
Exemple 7.10
Un parachutiste de masse m = 70 kg tombe en chute libre @ partir d’
vitesse initiale nulle. L'air exerce une friction proportionnelle a sa. vite
avec un coefficient de proportionnalité ¢; estimé a 13 kg/s. Au bout d
secondes, il ouvre son parachute et, heureusement pour lui, le coel