Académique Documents
Professionnel Documents
Culture Documents
Hasnaoui
Chapitre 6
I- Introduction
On considère la forme générale d’une équation différentielle du premier ordre
avec condition initiale. On cherchera une fonction y(t) solution de l’équation :
Ici 𝑡 est la variable indépendante et 𝑦(𝑡) est la variable dépendante et 𝑓 est une
fonction quelconque de deux variables supposée suffisamment différentiable.
Le but de l’étude est d’obtenir numériquement une approximation de 𝑦(𝑡) pour
tout 𝑡 ≥ 𝑡0 .
Définition
Une méthode numérique est dite à un pas si elle est de la forme :
Ainsi, la méthode est dite à un pas si, pour obtenir la solution à 𝑡 = 𝑡𝑛+1, on doit
utiliser la solution numérique au temps 𝑡𝑛 seulement. Les méthodes à pas
multiples sont des méthodes qui exigent également la connaissance de la
solution numérique aux temps 𝑡𝑛−1 , 𝑡𝑛−2, …
ℎ2
𝑦(𝑡𝑛+1 ) = 𝑦(𝑡𝑛 + ℎ) = 𝑦(𝑡𝑛 ) + ℎ𝑦 ′ (𝑡𝑛 ) + 𝑦′′(𝑡𝑛 ) + 𝑂(ℎ3 )
2
1
M. Hasnaoui
ℎ2
𝑦(𝑡𝑛+1 ) = 𝑦(𝑡𝑛 + ℎ) = 𝑦(𝑡𝑛 ) + ℎ𝑓(𝑡𝑛 , 𝑦(𝑡𝑛 )) + 𝑓′(𝑡𝑛 , 𝑦(𝑡𝑛 )) + 𝑂(ℎ3 )
2
𝜕𝑓(𝑡,𝑦(𝑡)) 𝜕𝑓(𝑡,𝑦(𝑡))
𝑓 ′ (𝑡, 𝑦(𝑡)) = + 𝑓(𝑡, 𝑦(𝑡))
𝜕𝑡 𝜕𝑦
Suivant la notation adoptée dans une méthode de résolution à un pas (Eq. (2)),
on déduit :
𝑦(𝑡𝑛+1 )−𝑦(𝑡𝑛 )
𝜏𝑛+1 (ℎ) = − Φ(𝑡𝑛 , 𝑦(𝑡𝑛 )) (3)
ℎ
Remarque
Il est à noter que c’est la solution exacte 𝑦(𝑡𝑛 ) et non 𝑦𝑛 qui est utilisée dans la
définition de l’erreur de troncature locale (voir Eq. (3)). Cela s’explique par le
fait qu’on cherche à mesurer l’erreur introduite par l’équation aux différences
à un pas, en supposant que la méthode était exacte jusque-là.
2
M. Hasnaoui
ℎ2
𝑦(𝑡𝑛+1 ) = 𝑦(𝑡𝑛 + ℎ) = 𝑦(𝑡𝑛 ) + ℎ𝑦 ′ (𝑡𝑛 ) + 𝑦′′(𝑡𝑛 ) + 𝑂(ℎ3 )
2
ℎ2
𝑦(𝑡𝑛+1 ) = 𝑦(𝑡𝑛 ) + ℎ𝑓(𝑡𝑛 , 𝑦𝑛 ) + 𝑦′′(𝑡𝑛 ) + 𝑂(ℎ3 )
2
𝑦(𝑡𝑛+1 ) − 𝑦(𝑡𝑛 ) ℎ
𝜏𝑛+1 (ℎ) = − 𝑓(𝑡𝑛 , 𝑦(𝑡𝑛 )) = 𝑦 ′′(𝑡𝑛) + 𝑂(ℎ2 ) = 𝑂(ℎ)
ℎ 2
On déduit que l’erreur est d’ordre 1 pour la méthode d’Euler ; elle diminue d’un
facteur 2 à chaque fois que le pas ℎ est diminué d’un facteur de 2.
Vérifier que 𝜏𝑛+1 (ℎ) = 𝑂(ℎ2 ) pour la méthode de Taylor (une erreur de
troncature locale d’ordre 2).
2. Pour 0 ≤ 𝑛 ≤ 𝑁 :
ℎ2 𝜕𝑓(𝑡𝑛 ,𝑦𝑛 ) 𝜕𝑓(𝑡𝑛 ,𝑦𝑛 )
𝑦𝑛+1 = 𝑦𝑛 + ℎ𝑓(𝑡𝑛 , 𝑦𝑛 ) + [ + 𝑓(𝑡𝑛 , 𝑦𝑛 ) ]
2 𝜕𝑡 𝜕𝑦
𝑡𝑛+1 = 𝑡𝑛 + ℎ
Ecriture : 𝑡𝑛+1, 𝑦𝑛+1
3. Arrêt du programme
Remarque
Dans cet algorithme, la solution analytique 𝑦(𝑡𝑛 ) est remplacée par son
approximation 𝑦𝑛 les erreurs vont se propager d’une itération à l’autre.
3
M. Hasnaoui
ℎ2
𝑦(𝑡𝑛+1 ) = 𝑦(𝑡𝑛 + ℎ) = 𝑦(𝑡𝑛 ) + ℎ𝑦 ′ (𝑡𝑛 ) + 𝑦′′(𝑡𝑛 ) + 𝑂(ℎ3 )
2
𝜕𝑓(𝑡,𝑦(𝑡)) 𝜕𝑓(𝑡,𝑦(𝑡))
avec 𝑓 ′ (𝑡, 𝑦(𝑡)) = + 𝑓(𝑡, 𝑦(𝑡)) (règle de dérivation en chaîne)
𝜕𝑡 𝜕𝑦
Finalement :
4
M. Hasnaoui
Les expressions (4) et (6) sont du même ordre, leur identification permet de
déterminer les coefficients 𝑎𝑖 . Ainsi, on obtient :
𝑎1 + 𝑎2 = 1
{ 𝑎2 𝑎3 = 1 (7)
𝑓(𝑡𝑛 ,𝑦(𝑡𝑛 ))
𝑎2 𝑎4 = 2
1. Données : un pas de temps ℎ, une condition initiale (𝑡0 , 𝑦0 )et un nombre maximum
d’itérations, 𝑁.
2. Pour 0 ≤ n ≤ N
𝑦 ∗ = 𝑦𝑛 + ℎ𝑓(𝑡𝑛 , 𝑦𝑛 )
ℎ
𝑦𝑛+1 = 𝑦𝑛 + 2 [𝑓(𝑡𝑛 , 𝑦𝑛 ) + 𝑓(𝑡𝑛+1 , 𝑦 ∗ )] (8)
𝑡𝑛+1 = 𝑡𝑛 + ℎ
3- Arrêt du programme
Remarque
- L’évaluation de 𝑦𝑛+1 a été scindée en deux étapes pour faciliter les calculs
avec 𝑦 ∗ apparaissant comme une variable temporaire et correspond à une
5
M. Hasnaoui
2. Pour 0 ≤ n ≤ N
𝑘𝑛 = ℎ𝑓(𝑡𝑛 , 𝑦𝑛 )
ℎ 𝑘
𝑦𝑛+1 = 𝑦𝑛 + ℎ [𝑓 (𝑡𝑛 + 2 , 𝑦𝑛 + 2𝑛)] (9)
𝑡𝑛+1 = 𝑡𝑛 + ℎ
3- Arrêt du programme
Remarque
L’intitulé point milieu est dérivé du fait que la fonction 𝑓(𝑡, 𝑦) est évaluée au
point milieu de l’intervalle [𝑡𝑛 , 𝑡𝑛+1 ].
1. Données : un pas de temps ℎ, une condition initiale (𝑡0 , 𝑦0 )et un nombre maximum
d’itérations, 𝑁.
2. Pour 0 ≤ n ≤ N
𝑘1 = ℎ𝑓(𝑡𝑛 , 𝑦𝑛 )
ℎ 𝑘
𝑘2 = ℎ𝑓 (𝑡𝑛 + 2 , 𝑦𝑛 + 21 )
6
M. Hasnaoui
ℎ 𝑘2
𝑘3 = ℎ𝑓 (𝑡𝑛 + , 𝑦𝑛 + )
2 2
𝑘4 = ℎ𝑓(𝑡𝑛 + ℎ, 𝑦𝑛 + 𝑘3 )
1
𝑦𝑛+1 = 𝑦𝑛 + (𝑘1 + 2𝑘2 + 2𝑘3 + 𝑘4 )
6
𝑡𝑛+1 = 𝑡𝑛 + ℎ
3- Arrêt du programme
Remarque
- La méthode de Runge-Kutta d’ordre 4 nécessite à peu près 4 fois plus de
temps de calcul que la méthode d’Euler qui est d’ordre 1 et 2 fois plus de temps
de calcul que la méthode d’Euler modifiée qui est d’ordre 2.
- La précision ne peut pas être rattrapée par une simple division du pas.
Exercice d’application
Exemple
Considérons l’équation différentielle suivante :
3
𝑦 ′′ (𝑡) = 2 𝑦 2 (10)
7
M. Hasnaoui
𝑦(0) = 4
{ (11)
𝑦(1) = 1
Le problème est à valeurs aux frontières (la valeur 𝑦(1) = 1 n’est pas une valeur
initiale), il lui correspond le problème à valeurs initiales suivant :
𝑦′ = 𝑓
{ (12)
𝑦(0) = 4
3
𝑓′ = 2 𝑦 2
{ (13)
𝑓(0) = 𝛼
Dans l’équation (13), la valeur de 𝛼 n’est pas connue ; elle doit être telle que la
condition y(1) = 1 soit vérifiée moyennant une certaine précision fixée à
l’avance. La méthode de tir permet de résoudre (12) et (13) de manière
itérative.