Fortin 743

You might also like

You are on page 1of 4
‘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 *) (73 392 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

You might also like