Académique Documents
Professionnel Documents
Culture Documents
Mai 2020
Bassem Ben Hamed (Université de Sfax) Chapitre 2 : Équations différentielles Mai 2020 1 / 60
Introduction
Plan
1 Introduction
2 Méthode d’Euler
3 Méthodes de Taylor
4 Méthodes de Runge-Kutta
Méthodes de Runge-Kutta d’ordre 2
Méthode de Runge-Kutta d’ordre 4
Bassem Ben Hamed (Université de Sfax) Chapitre 2 : Équations différentielles Mai 2020 2 / 60
Introduction
Bassem Ben Hamed (Université de Sfax) Chapitre 2 : Équations différentielles Mai 2020 3 / 60
Introduction
Bassem Ben Hamed (Université de Sfax) Chapitre 2 : Équations différentielles Mai 2020 4 / 60
Introduction
g θ(t)
θ00 (t) = − , θ(0) = θ0 , θ0 (0) = θ00 . (2)
`
Bassem Ben Hamed (Université de Sfax) Chapitre 2 : Équations différentielles Mai 2020 5 / 60
Introduction
Bassem Ben Hamed (Université de Sfax) Chapitre 2 : Équations différentielles Mai 2020 6 / 60
Introduction
Bassem Ben Hamed (Université de Sfax) Chapitre 2 : Équations différentielles Mai 2020 7 / 60
Introduction
Définition
L’équation (4) est dite d’ordre 1, car seule la dérivée d’ordre 1 de la
variable y (t) est présente. Si les dérivées d’ordre 2 apparaissent dans
l’équation (4), on aurait une équation d’ordre 2, et ainsi de suite.
Bassem Ben Hamed (Université de Sfax) Chapitre 2 : Équations différentielles Mai 2020 8 / 60
Introduction
Remarque
On note y (ti ) la solution analytique de l’équation différentielle (4) en
t = ti . On note yi la solution approximative en t = ti obtenue à l’aide
d’une méthode numérique.
Bassem Ben Hamed (Université de Sfax) Chapitre 2 : Équations différentielles Mai 2020 9 / 60
Méthode d’Euler
Plan
1 Introduction
2 Méthode d’Euler
3 Méthodes de Taylor
4 Méthodes de Runge-Kutta
Méthodes de Runge-Kutta d’ordre 2
Méthode de Runge-Kutta d’ordre 4
Bassem Ben Hamed (Université de Sfax) Chapitre 2 : Équations différentielles Mai 2020 10 / 60
Méthode d’Euler
d0 (t) = y0 + f (t0 , y0 ) (t − t0 ) .
Bassem Ben Hamed (Université de Sfax) Chapitre 2 : Équations différentielles Mai 2020 11 / 60
Méthode d’Euler
Bassem Ben Hamed (Université de Sfax) Chapitre 2 : Équations différentielles Mai 2020 12 / 60
Méthode d’Euler
En t = t1 , on a :
Bassem Ben Hamed (Université de Sfax) Chapitre 2 : Équations différentielles Mai 2020 13 / 60
Méthode d’Euler
et construire la droite :
d1 (t) = y1 + f (t1 , y1 ) (t − t1 )
Bassem Ben Hamed (Université de Sfax) Chapitre 2 : Équations différentielles Mai 2020 14 / 60
Méthode d’Euler
Remarque
Le développement précédent met en évidence une propriété importante des
méthodes numériques de résolution des équations différentielles. En effet,
les erreurs se propagent d’une itération à l’autre. Il en résulte que l’erreur
|y (ti ) − yi | augmente avec i.
Algorithme d’Euler
1 Étant donné un pas de temps h, une condition initiale (t0 , y0 ) et un
nombre maximale d’itérations N.
2 Pour 0 ≤ n ≤ N : yn+1 = yn + hf (tn , yn ).
tn+1 = tn + h.
Écrire tn+1 et yn+1 .
3 Arrêt.
Bassem Ben Hamed (Université de Sfax) Chapitre 2 : Équations différentielles Mai 2020 15 / 60
Méthode d’Euler
Exemple
Bassem Ben Hamed (Université de Sfax) Chapitre 2 : Équations différentielles Mai 2020 16 / 60
Méthode d’Euler
On parvient à :
Bassem Ben Hamed (Université de Sfax) Chapitre 2 : Équations différentielles Mai 2020 17 / 60
Méthode d’Euler
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.196585 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
Bassem Ben Hamed (Université de Sfax) Chapitre 2 : Équations différentielles Mai 2020 18 / 60
Méthode d’Euler
Bassem Ben Hamed (Université de Sfax) Chapitre 2 : Équations différentielles Mai 2020 19 / 60
Méthode d’Euler
Définition
Une méthode de résolution d’équations différentielles est dite à un pas si
elle est de la forme :
yn+1 = yn + hφ (tn , yn ) , (5)
où φ est une fonction quelconque. Une telle relation est appelée équation
aux différences. La méthode est à un pas si, pour obtenir la solution en
t = tn+1 , on doit utiliser la solution numérique au temps tn seulement. On
désigne méthodes à pas multiples les méthodes qui exigent également la
solution numérique aux temps tn−1 , tn−2 , . . ..
Bassem Ben Hamed (Université de Sfax) Chapitre 2 : Équations différentielles Mai 2020 20 / 60
Méthode d’Euler
Définition
L’erreur de troncature locale au point t = tn est définie par :
y (tn+1 ) − y (tn )
τn+1 (h) = − φ (tn , y (tn )) . (6)
h
L’erreur de troncature locale mesure la précision avec laquelle la solution
analytique vérifie l’équation aux différences (5).
Bassem Ben Hamed (Université de Sfax) Chapitre 2 : Équations différentielles Mai 2020 21 / 60
Méthode d’Euler
Remarque
Il est important de noter que l’on utilise la solution exacte y (tn ) (et non
yn ) dans la définition de l’erreur de troncature locale. Cela s’explique par
le fait que l’on cherche à mesurer l’erreur introduite par l’équation aux
différrances à un pas donné, en supposant que la méthode était exacte
jusque là.
Remarque
Il ne faut pas confondre l’ordre de l’équation différentielle avec l’ordre
d’une méthode numérique utilisée pour résoudre cette équation
différentielle.
Exemple
Bassem Ben Hamed (Université de Sfax) Chapitre 2 : Équations différentielles Mai 2020 23 / 60
Méthode d’Euler
Bassem Ben Hamed (Université de Sfax) Chapitre 2 : Équations différentielles Mai 2020 24 / 60
Méthodes de Taylor
Plan
1 Introduction
2 Méthode d’Euler
3 Méthodes de Taylor
4 Méthodes de Runge-Kutta
Méthodes de Runge-Kutta d’ordre 2
Méthode de Runge-Kutta d’ordre 4
Bassem Ben Hamed (Université de Sfax) Chapitre 2 : Équations différentielles Mai 2020 25 / 60
Méthodes de Taylor
y 00 (tn ) h2
y (tn+1 ) = y (tn + h) = y (tn ) + y 0 (tn ) h + + O h3 ,
2
f 0 (tn , y (tn )) h2
+ O h3 ,
= y (tn ) + f (tn , y (tn )) h +
2
= y (tn ) + hf (tn , y (tn ))
h2 ∂f (tn , y (tn )) ∂f (tn , y (tn ))
+ + f (tn , y (tn ))
2 ∂t ∂y
+O h3 .
(7)
Bassem Ben Hamed (Université de Sfax) Chapitre 2 : Équations différentielles Mai 2020 26 / 60
Méthodes de Taylor
Ainsi
h
∂f (t, y (t)) ∂f (t, y (t))
φ(t, y (t)) = f (t, y (t)) + + f (t, y (t)) .
2 ∂t ∂y
Bassem Ben Hamed (Université de Sfax) Chapitre 2 : Équations différentielles Mai 2020 27 / 60
Méthodes de Taylor
Bassem Ben Hamed (Université de Sfax) Chapitre 2 : Équations différentielles Mai 2020 28 / 60
Méthodes de Taylor
Remarque
Dans cet algorithme, on a remplacé la solution analytique y (tn ) par son
approximation yn dans (8). On en conclut que les erreurs se propagent
d’une itération à une autre.
Exemple
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.000294
0.3 1.040818 1.041218 0.000400
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.196585 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
On remarque que l’erreur est plus petite avec la méthode de Taylor d’ordre
2 qu’avec la méthode d’Euler.
Bassem Ben Hamed (Université de Sfax) Chapitre 2 : Équations différentielles Mai 2020 30 / 60
Méthodes de Taylor
Remarque
Il est possible d’obtenir des méthodes de Taylor encore plus précises en
poursuivant le développement de Taylor (7) jusqu’à des termes d’ordre
élevé. On doit alors évaluer les dérivées
∂2f ∂2f ∂2f
, , , ...
∂t 2 ∂y 2 ∂t∂y
Exemple
Bassem Ben Hamed (Université de Sfax) Chapitre 2 : Équations différentielles Mai 2020 32 / 60
Méthodes de Taylor
Bassem Ben Hamed (Université de Sfax) Chapitre 2 : Équations différentielles Mai 2020 33 / 60
Méthodes de Runge-Kutta
Plan
1 Introduction
2 Méthode d’Euler
3 Méthodes de Taylor
4 Méthodes de Runge-Kutta
Méthodes de Runge-Kutta d’ordre 2
Méthode de Runge-Kutta d’ordre 4
Bassem Ben Hamed (Université de Sfax) Chapitre 2 : Équations différentielles Mai 2020 34 / 60
Méthodes de Runge-Kutta Méthodes de Runge-Kutta d’ordre 2
Bassem Ben Hamed (Université de Sfax) Chapitre 2 : Équations différentielles Mai 2020 35 / 60
Méthodes de Runge-Kutta Méthodes de Runge-Kutta d’ordre 2
∂f (tn , y (tn ))
f (tn + a3 h, y (tn ) + a4 h) = f (tn , y (tn )) + a3 h
∂t
∂f (tn , y (tn ))
+ O h2 .
+a4 h
∂y
On voit tout de suite que les expressions (7) et (11) sont du même ordre.
Pour déterminer les coefficients ai , il suffit de comparer ces deux
expressions terme à terme :
Bassem Ben Hamed (Université de Sfax) Chapitre 2 : Équations différentielles Mai 2020 36 / 60
Méthodes de Runge-Kutta Méthodes de Runge-Kutta d’ordre 2
h2
f (tn , y (tn )) = a2 a4 h2 .
2
On obtient ainsi un système sous-déterminé (il n’y a pas de solutions
unique) :
1 f (tn , y (tn ))
a1 + a2 = 1, a2 a3 = , a2 a4 = . (12)
2 2
Cela offre une marge de manœuvre qui favorise la mise au point de
plusieurs variantes de la méthode de Runge-Kutta. Voici le choix le plus
couramment utilisé.
Bassem Ben Hamed (Université de Sfax) Chapitre 2 : Équations différentielles Mai 2020 37 / 60
Méthodes de Runge-Kutta Méthodes de Runge-Kutta d’ordre 2
1
a1 = a2 = , a3 = 1 et a4 = f (tn , y (tn )) .
2
On obtient l’algorithme suivant :
Algorithme d’Euler modifié
1 Étant donné un pas de temps h, une condition initiale (t0 , y0 ) et un
nombre maximale d’itérations N.
2 Pour 0 ≤ n ≤ N : ŷ = yn + hf (tn , yn ).
h
yn+1 = yn + (f (tn , yn ) + f (tn+1 , ŷ )) . (13)
2
tn+1 = tn + h.
Remarque
Pour faciliter les calculs, l’évaluation de yn+1 a été scindée en deux étapes.
La variable temporaire ŷ correspond tout simplement à une itération de la
méthode d’Euler. On fait ainsi une prédiction ŷ de la solution en tn+1 qui
est corrigée (et améliorée) à la deuxième étape de l’algorithme.
Exemple
Bassem Ben Hamed (Université de Sfax) Chapitre 2 : Équations différentielles Mai 2020 39 / 60
Méthodes de Runge-Kutta Méthodes de Runge-Kutta d’ordre 2
La correction conduit à :
Bassem Ben Hamed (Université de Sfax) Chapitre 2 : Équations différentielles Mai 2020 40 / 60
Méthodes de Runge-Kutta Méthodes de Runge-Kutta d’ordre 2
1 f (tn , y (tn ))
a1 0, a2 = 1, a3 = et a4 = .
2 2
On obtient l’algorithme suivant :
Algorithme du point milieu
1 Étant donné un pas de temps h, une condition initiale (t0 , y0 ) et un
nombre maximale d’itérations N.
2 Pour 0 ≤ n ≤ N : k1 = hf (tn , yn ).
h k1
yn+1 = yn + hf tn + , yn + . (14)
2 2
tn+1 = tn + h.
Remarque
L’algorithme précédent illustre bien pourqoui cette méthode est dite du
point milieu. On remarque en effet que la fonction f (t, y ) est évaluée au
point milieu de l’intervalle [tn , tn+1 ].
Remarque
Les méthodes d’Euler modifiée et du point milieu étant du même ordre de
troncature locale, leur précision est semblable. D’autres choix sont
possibles pour les coefficients ai , mais on se limite aux deux cas précédents.
Bassem Ben Hamed (Université de Sfax) Chapitre 2 : Équations différentielles Mai 2020 42 / 60
Méthodes de Runge-Kutta Méthode de Runge-Kutta d’ordre 4
Bassem Ben Hamed (Université de Sfax) Chapitre 2 : Équations différentielles Mai 2020 43 / 60
Méthodes de Runge-Kutta Méthode de Runge-Kutta d’ordre 4
k1 = hf (tn , yn ) .
h k1
k2 = hf tn + , yn + .
2 2
h k2
k3 = hf tn + , yn + .
2 2
k4 = hf (tn + h, yn + k3 ) .
1
yn+1 = yn + (k1 + 2k2 + 2k3 + k4 ) . (15)
6
tn+1 = tn + h.
Remarque
La méthode de Runge-Kutta d’ordre 4 est très utilisée en raison de sa
grande précision qui est en mise en évidence dans l’exemple suivant.
Exemple
k1 = 0.1f (0, 1) = 0,
k2 = 0.1f (0 + 0.005, 1 + 0) = 0.005,
k3 = 0.1f (0 + 0.005, 1 + 0.0025) = 0.00475,
k4 = 0.1f (0 + 0.1, 1 + 0.00475) = 0.009525,
Bassem Ben Hamed (Université de Sfax) Chapitre 2 : Équations différentielles Mai 2020 46 / 60
Méthodes de Runge-Kutta Méthode de Runge-Kutta d’ordre 4
ti y (ti ) yi |y (ti ) − yi |
0.0 1.0000000000 1.0000000000 0.000
0.1 1.0048374180 1.0048375000 0.819×10−7
0.2 1.0187307798 1.0187309014 0.148×10−6
0.3 1.0408182207 1.0408184220 0.210×10−6
0.4 1.0703200460 1.0703202889 0.242×10−6
0.5 1.1065306597 1.1065309344 0.274×10−6
0.6 1.1488116361 1.1488119343 0.298×10−6
0.7 1.1965853034 1.1965856186 0.314×10−6
0.8 1.2493289641 1.2493292897 0.325×10−6
0.9 1.3065696598 1.3065799912 0.331×10−6
1.0 1.3678794412 1.3678797744 0.333×10−6
Bassem Ben Hamed (Université de Sfax) Chapitre 2 : Équations différentielles Mai 2020 47 / 60
Méthodes de Runge-Kutta Méthode de Runge-Kutta d’ordre 4
Bassem Ben Hamed (Université de Sfax) Chapitre 2 : Équations différentielles Mai 2020 48 / 60
Méthodes de Runge-Kutta Méthode de Runge-Kutta d’ordre 4
Exemple
Bassem Ben Hamed (Université de Sfax) Chapitre 2 : Équations différentielles Mai 2020 49 / 60
Méthodes de Runge-Kutta Méthode de Runge-Kutta d’ordre 4
Bassem Ben Hamed (Université de Sfax) Chapitre 2 : Équations différentielles Mai 2020 50 / 60
Systèmes d’équations différentielles
Plan
1 Introduction
2 Méthode d’Euler
3 Méthodes de Taylor
4 Méthodes de Runge-Kutta
Méthodes de Runge-Kutta d’ordre 2
Méthode de Runge-Kutta d’ordre 4
Bassem Ben Hamed (Université de Sfax) Chapitre 2 : Équations différentielles Mai 2020 51 / 60
Systèmes d’équations différentielles
Remarque
Ces m équations sont couplées dans le sens où l’équation régissant la
variable dépendante yi (t) peut dépendre de toutes les autres variables
dépendantes.
Bassem Ben Hamed (Université de Sfax) Chapitre 2 : Équations différentielles Mai 2020 52 / 60
Systèmes d’équations différentielles
Bassem Ben Hamed (Université de Sfax) Chapitre 2 : Équations différentielles Mai 2020 53 / 60
Systèmes d’équations différentielles
Remarque
Pour comprendre le principe de cet algorithme, il suffit de le voir comme
une application de la méthode de Runge-Kutta à chacune des équations
différentielles. De plus, il est nécessaire de calculer les m constantes ki,1
avant de passer au calcul des constantes ki,2 et ainsi de suite.
Exemple
y1 (t) = 2e t − te t , y2 (t) = e t − te t .
Bassem Ben Hamed (Université de Sfax) Chapitre 2 : Équations différentielles Mai 2020 55 / 60
Systèmes d’équations différentielles
Figure: y10 (t) = y2 (t) (y1 (0) = 2) et y20 (t) = 2y2 (t) − y1 (t) (y2 (0) = 1).
La figure illustre les solutions analytiques y1 (t) et y2 (t) de même que leurs
approximations respectives.
Bassem Ben Hamed (Université de Sfax) Chapitre 2 : Équations différentielles Mai 2020 57 / 60
Equations d’ordre supérieur
Plan
1 Introduction
2 Méthode d’Euler
3 Méthodes de Taylor
4 Méthodes de Runge-Kutta
Méthodes de Runge-Kutta d’ordre 2
Méthode de Runge-Kutta d’ordre 4
Bassem Ben Hamed (Université de Sfax) Chapitre 2 : Équations différentielles Mai 2020 58 / 60
Equations d’ordre supérieur
Théorème
L’équation différentielle (19) avec les m conditions initiales (20) est
équivalente au système de m équations différentielles suivant
Exemple
Remarque
Une fois l’équation d’ordre m transformée en un système de m équations
différentielles d’ordre 1, on peut recourir à l’algorithme (17) pour sa
résolution.
Bassem Ben Hamed (Université de Sfax) Chapitre 2 : Équations différentielles Mai 2020 60 / 60