Résolution des équations différentielles ordinaires 114 CHAPITRE 9. RÉSOLUTION

Résolution des équations différentielles ordinaires 114 CHAPITRE 9. RÉSOLUTION DES ÉQUATIONS DIFFÉRENTIELLES ORDINAIRES En t = t1, on a : d0(t1) = f(t0, y0)(t1 −t0) + y0 = y0 + hf(t0, y0)) = y1. En d'autres termes, d0(t1) est proche de la solution analytique y(t1), c'est à dire y(t1) ≃y1 = d0(t1) = y0 + hf(t0, y0). Il est important de noter que, le plus souvent, y1 ̸= y(t1). Donc si on souhaite faire une deuxième itération et obtenir une approximation de y(t2), on peut refaire l'analyse précédente à partir du point (t1, y1). on remarque cependant que la pente de la solution analytique en t = t1 est : y′(t1) = f(t1, y(t1)). On ne connaît pas exactement y(t1), mais nous possédons l'approximation y1 de y(t1). On doit alors utiliser l'expression : y′(t1) = f(t1, y(t1)) ≃f(t1, y1) et construire la droite d1(t) = f(t1, y1)(t −t1) + y1, qui permettra d'estimer y(t2). On a alors y(t2) ≃y2 = y1 + hf(t1, y1). On remarque que l'erreur commise à la première itération est réintroduite dans les calculs de la deuxième itération. 9.3. MÉTHODES DE TAYLOR 115 Algorithme d'Euler2 (1) Etant donné un pas h, une condition initiale (t0, y0), et un nombre maximal d'itérations N. (2) Pour 0 ≤n ≤N yn+1 = yn + hf(tn, yn) et tn+1 = tn + h écrire tn+1 et yn+1. (3) Arrêt. Remarque 9.4. La méthode d'Euler est de loin la méthode la plus simple de résolution numé- rique d'équations diérentielles ordinaires. Elle possède une belle interprétation géométrique et son emploi est facile. Toutefois, elle est relativement peu utilisée en raison de sa précision. Exemple 9.4. Soit l'équation diérentielle  y′(t) = −y(t) + t + 1 y(0) = 1. On prend h = 0, 1 et f(t, y) = −y + t + 1. Le tableau suivant rassemble les résultats des dix premières itérations. On peut montrer que la solution analytique de cette équation est : y(t) = e−t + t, ce qui permet de comparer les solutions numérique et analytique et de constater la croissance de l'erreur ti y(ti) yi |y(ti) −yi| 0, 0 1, 000000 1, 000000 0, 000000 0, 1 1, 004837 1, 000000 0, 004837 0, 2 1, 018731 1, 010000 0, 008731 0, 3 1, 040818 1, 029000 0, 011818 0, 4 1, 070302 1, 056100 0, 014220 0, 5 1, 106531 1, 090490 0, 016041 0, 6 1, 148812 1, 131441 0, 017371 0, 7 1, 196580 1, 178297 0, 018288 0, 8 1, 249329 1, 230467 0, 018862 0, 9 1, 306570 1, 287420 0, 019150 1, 0 1, 367879 1, 348678 0, 019201 9.3 Méthodes de Taylor Le développement de Taylor autorise une généralisation immédiate de la méthode d'Euler, qui permet de diminuer l'erreur d'approximation. Nous nous limitons cependant à la méthode de Taylor du second ordre. On cherche, au temps t = tn, une approximation de la solution en t = tn+1. On a immédiatement : y(tn+1) = y(tn + h) = y(tn) + y′(tn)h + y′′(tn) 2 h2 + o(h2). 2Leonhard Euler, 1707-1783 116 CHAPITRE 9. RÉSOLUTION DES ÉQUATIONS DIFFÉRENTIELLES ORDINAIRES En se servant de l'équation diérentielle (9.1), on trouve : y(tn+1) = y(tn) + f(tn, y(tn))h + f ′(tn, y(tn))h2 + o(h2) et on a : f ′(t, y(t)) = ∂f(t, y(t)) ∂t + ∂f(t, y(t)) ∂y y′(t), donc f ′(t, y(t)) = ∂f(t, y(t)) ∂t + ∂f(t, y(t)) ∂y f(t, y(t)). Ainsi, on obtient y(tn+1) = y(tn) + hf(tn, y(tn)) + h2 2 (∂f(tn, y(tn)) ∂t + ∂f(tn, y(tn)) ∂y f(tn, y(tn))) + o(h2), (9.2) en négligeant les termes d'ordres supérieurs ou égaux à 3. D'où y(tn+1) ≃y(tn) + hf(tn, y(tn)) + h2 2 (∂f(tn, y(tn)) ∂t + ∂f(tn, y(tn)) ∂y f(tn, y(tn))). (9.3) Cette relation sera la base de la méthode de Taylor. Commentaire En fait, la méthode de Taylor consiste à approcher la solution de l'équation (9.1) par des arcs de paraboles au lieu des segments de droites (des tangentes) utilisés dans la méthode d'Euler. Algorithme de Taylor d'ordre 2 (1) Etant donné un pas de temps h, une condition initiale (t0, y0), et un nombre maximal d'itérations N. (2) Pour 0 ≤n ≤N yn+1 = yn + hf(tn, yn) + h2 2 (∂f(tn,yn) ∂t + ∂f(tn,yn) ∂y f(tn, yn)) et tn+1 = tn + h écrire tn+1 et yn+1. (3) Arrêt. Remarque 9.5. Dans cet algorithme, on a remplacé la solution analytique y(tn) par son approximation yn dans la relation (9.3). On en conclut que les erreurs se propagent d'une itération à une autre. Exemple 9.5. Soit l'équation diérentielle déjà résolue par la méthode d'Euler  y′(t) = −y(t) + t + 1 y(0) = 1. On prend h = 0, 1. Dans ce cas f(t, y) = −y + t + 1 et ∂f ∂t (t, y) = 1, ∂f ∂ty(t, y) = −1. Le tableau suivant rassemble les résultats des dix premières itérations ce qui permet de comparer les 9.4. MÉTHODES DE RUNGE-KUTTA 117 solutions numérique et analytique et de constater la croissance de l'erreur et la comparer avec la méthode d'Euler ti y(ti) yi |y(ti) −yi| 0, 0 1, 000000 1, 000000 0, 000000 0, 1 1, 004837 1, 005000 0, 000163 0, 2 1, 018731 1, 019025 0, 000400 0, 3 1, 040818 1, 041218 0, 000482 0, 4 1, 070302 1, 070802 0, 000482 0, 5 1, 106531 1, 107075 0, 000544 0, 6 1, 148812 1, 149404 0, 000592 0, 7 1, 196580 1, 197210 0, 000625 0, 8 1, 249329 1, 249975 0, 000646 0, 9 1, 306570 1, 307228 0, 000658 1, 0 1, 367879 1, 368541 0, 000662 Remarque 9.6. On remarque que l'erreur est plus petite avec la méthode de Taylor d'ordre 2 qu'avec la méthode d'Euler. Remarque 9.7. Si l'on veut encore réduire la marge d'erreur, on poursuive le développement de Taylor dans (9.2) jusqu'à des termes d'ordre élevé. On doit alors évaluer les dérivées de la fonction f(t, y(t)) d'ordre de plus en plus élevé, ce qui nécessite le calcul supplémentaire de : ∂2f ∂t2 , ∂2f ∂y2 , ∂2f ∂t∂y, ..., ∂i+jf ∂ti∂j . Pour cette raison, les méthodes obtenues sont di ciles à utiliser. pour contourner cette di culté on développe les méthodes de Runge-Kutta. 9.4 Méthodes de Runge-Kutta Il serait avantageux de disposer de méthodes d'ordres de plus en plus élevées tout en évitant les inconvénients des méthodes de Taylor, qui nécessitent l'évaluation des dérivées partielles de la fonction f(t, y(t)). Une voie est tracée par les méthodes de Runge3-Kutta4, qui sont calquées sur les méthodes de Taylor du même ordre. 9.4.1 Méthodes de Runge-Kutta d'ordre 2 On a vu que le développement de la méthode de Taylor passe par la relation : y(tn+1) = y(tn) + hf(tn, y(tn)) + h2 2 (∂f(tn, y(tn)) ∂t + ∂f(tn, y(tn)) ∂y f(tn, y(tn))) + o(h2) (9.4) Le but est de remplacer cette dernière relation par une expression équivalente possédant le même ordre de précision (o(h2)). On propose la forme : y(tn+1) = y(tn) + a1hf(tn, y(tn)) + a2hf(tn + a3h, y(tn) + a4h) (9.5) 3Carle Runge, 1856-1927 4 Martin Kutta, 1867-1944 118 CHAPITRE 9. RÉSOLUTION DES ÉQUATIONS DIFFÉRENTIELLES ORDINAIRES où on doit déterminer les paramètres a1, a2, a3 et a4 de telle sorte que les expressions (9.4) et (9.5) aient toutes les deux une erreur en o(h2). Pour y arriver, on doit utiliser le développement de Taylor en deux variables autour du point (tn, y(tn)). On a ainsi : f(tn + a3h, y(tn) + a4h) = f(tn, y(tn)) + a3h∂f(tn, y(tn)) ∂t + a4h∂f(tn, y(tn)) ∂y + o(h) La relation (9.5) devient alors : y(tn+1) = y(tn) + (a1 + a2)hf(tn, y(tn)) + a2a3h2 ∂f(tn,y(tn)) ∂t + a2a4h2 ∂f(tn,y(tn)) ∂y + o(h2) (9.6) On voit immédiatement que les expressions (9.4) et (9.6) sont de même ordre. Pour déterminer les coe cients ai, i = 1, 2, 3, 4, il su t de comparer ces deux expressions terme à terme. On obtient un système non linéaire de 3 équations à 4 inconnues :    a1 + a2 = 1 a2a3 = 1 2 a2a4 = f(tn,y(tn) 2 (9.7) Le système (9.7) a moins d'équations que d'inconnues et donc n'a pas de solution unique. Cela ore une marge de manoeuvre qui favorise la mise au point de plusieurs variantes de la méthode de Runge-Kutta. Voici le choix le plus couramment utilisé. 9.4.2 Méthode d'Euler modi ée Cette méthode correspond au choix suivant des coe cients ai : a1 = a2 = 1 2, a3 = 1, et a4 = f(tn, y(tn) Il su t ensuite de remplacer ces valeurs dans l'équation (9.5). Pour ce faire, on néglige le terme en o(h2) et on remplace y(tn) par son approximation yn. On obtient alors l'algorithme suivant : Algorithme d'Euler modi é (1) Etant donné un pas de temps h, une condition initiale (t0, y0) , et un nombre maximal d'itérations N. (2) Pour 0 ≤n ≤N b y = yn + hf(tn, yn) yn+1 = yn uploads/Marketing/ cours-methodes-numeriques-approfondies.pdf

  • 39
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager
  • Détails
  • Publié le Jui 24, 2021
  • Catégorie Marketing
  • Langue French
  • Taille du fichier 0.4713MB