Résolution des équations différentielles
I) Introduction On appelle équation différentielle ordinaire, une équation différentielle dont les fonctions et leurs dérivées successives ne dépendent que d’une variable (le temps par exemple). On oppose le terme ordinaire à équation différentielle aux dérivées partielles. Dans la majorité des cas, la solution analytique d’une équation différentielle est impossible à obtenir; des méthodes numériques sont donc d’un grand intérêt pratique. On recherche la fonction y(x) satisfaisant l’équation différentielle du 1erordre : (1)
Il existe une infinité de solution Il existe une infinité de solution. On peut en fixer une en imposant une condition initiale Parmi les diverses techniques de calcul, il y a les méthodes à pas libres (xi+1 est fonction de xi uniquement) et les méthodes à pas liés (xi+1 est fonction de xi-1 , xi , xi+1 …). Les méthodes à pas liés sont difficiles à implémenter, lourdes à initialiser et parfois fortement instables. Nous n’en parlerons pas ici. Parmi les méthodes à pas libres, on trouve la méthode d’Euler et sa génération : la méthode de Runge-Kutta d’ordre 4 fournit une très bonne précision pour un volume de calcul très raisonnable.
II) Méthode à pas libres: 1) Méthode d’Euler Soit y : [a,b] → lR de classe C1 et soient a=x0,x1 ,…, xn=b une suite de réels équirépartis (pas régulier = h = xi+1 – xi = (b-a)/n ). On utilise le développement de Taylor sur [x0, x1]:(3) On notera par une approximation de la solution exacte . Si h est suffisamment petit on aura : (4) or donc: (5)
Géométriquement, on approche l’arc de la courbe par sa tangente en ; et on remplace le point exact : point de même abscisse mais situé sur la tangente en (A0 , T0) (Voir Figure1) Sur l’intervalle [ ], la solution exacte de (1) sera approchée par la tangente au point ( ) ; on trouve : (6) Et ainsi de suite. Le schéma d’Euler progressif est donc donné par : Pour i=0,1,2…n-1 (7)
Précision de la méthode d’Euler : Théorème 1de Cauchy – Lipschitz : On suppose que f est continue sur lR X lR+ et lipschitzienne en y uniformément par rapport à x ; càd il existe L tel que : (8) Alors le problème de Cauchy (1) admet une solution unique. Nous admettons, sans démonstration le théorème suivant :
Théorème 2 : On suppose vérifiées les hypothèses du théorème 1 et que la solution y de (1) appartient à C2[a,b]. On pose : , alors, si l’on note l’erreur au point , on a la majoration : . (9) Le théorème 2 est un théorème de convergence. Il prouve qu’en un point fixé ; l’erreur ( tend vers 0 lorsque n→ ∞)
Définition : Une méthode de calcul numérique fournissant des valeurs approchées telles que est dite d’ordre p. Remarques : La méthode d’Euler est donc du 1erordre (p=1) puisqu’elle s’exprime sous la forme Etant d’ordre 1, la méthode d’Euler ne converge pas assez vite pour donner des résultats pratiques intéressant. Pour obtenir une meilleure approximation, on peut diminuer le pas h mais le nombre d’opération augmente alors considérablement.
2) Méthode utilisant la formule de Taylor On peut améliorer le procédé précédant en approchant sur [xi , xi+1] la courbe y(x), non pas par sa tangente (segment de droite), mais par une parabole. Selon la formule de Taylor, on a : (11) Et comme : Donc: Ou encore: (12)
On trouve alors, en négligeant les termes d’ordre supérieurs, l’algorithme suivant: pour i = 0, 1.. n-1 (13) Cet algorithme est plus précis que celui d’Euler (car ) Cependant, il nécessite le calcul de qui peut être assez compliqué. On peut supprimer ce calcul au prix de 2 calculs de f par itération et obtenir encore une méthode d’ordre 2.
3) Méthode de Runge-Kutta d’ordre 2 Si on intègre l’équation y’ = f(x, y) entre xi et xi+1 , alors : On obtient : (14) Soit approximation de .En intégrant le membre de droite par la formule des trapèzes, on obtient : pour i=0, 1, … (15)
Ce schéma est implicite car il ne permet pas d’expliciter directement en fonction de . On peut le modifier afin de le rendre explicite, en utilisant une prédiction d’Euler progressive et remplacer dans le membre de droite par donnée par (7);càd: (16) Nous avons construit ainsi un nouveau schéma d’ordre 2 appelé méthode de Heun. Ce schéma consiste, à partir de , à calculer par (16) puis à calculer par (15), après avoir remplacé au membre de droite par .Ainsi, la méthode de Heun s’écrit (17)
4) Méthode d’Euler modifiée Revenons à l’égalité (14): et utilisons la méthode du point milieu pour intégrer le membre de droite. Notons le point milieu de l’intervalle Nous trouvons: Où est une approximation de . En utilisant la prédiction d’Euler progressive pour approcher nous obtenons : (18)
5) Méthodes de Runge-Kutta d’ordre 4 (RK4) On trouve ainsi la méthode d’Euler modifiée d’ordre 2 qui s’écrit : (19) Les méthodes de Heun et d’Euler modifiée sont des cas particuliers dans la famille des méthodes de Runge-Kutta d’ordre 2. 5) Méthodes de Runge-Kutta d’ordre 4 (RK4) Revenons à l’égalité (14) et utilisons la méthode de Simpson pour intégrer le membre de droite. Nous obtenons la méthode de RK4 qui permet, à partir de de calculer de la manière suivante
(20) Où les sont calculé comme suit : (21) (où ) Il est possible de montrer que l’estimation d’erreur est donnée par : (22) La relation (22) montre que la méthode de RK4 est d’ordre 4 en h.