222
7 Equations différentielles ordinaires
0
5
10
15
20
25
30
−6
−4
−2
0
2
4
6
8
Figure 7.4. Solutions du problème (7.28), avec λ = −1, obtenues par la méthode d’Euler explicite, avec h = 30/14(> 2) (trait discontinu), h = 30/16(<
2) (trait plein) et h = 1/2 (trait mixte)
On peut tirer des conclusions analogues quand le λ de (7.28) est un
complexe (voir Section 7.6.1) ou une fonction négative de t. Mais dans
ce cas, on doit remplacer |λ| par max t∈[0,∞[ |λ(t)| dans la condition de
stabilité (7.30). On peut relaxer cette condition en une condition moins
stricte en utilisant un pas variable h n qui tient compte du comportement
local de |λ(t)| dans les intervalles ]t n , t n+1 [.
On peut utiliser en particulier la méthode d’Euler explicite adaptative :
choisir u 0 = y 0 et h 0 = 2α/|λ(t 0 )| ; puis
pour n = 0, 1, . . ., faire
t n+1 = t n + h n ,
u n+1 = u n + h n λ(t n )u n ,
h n+1 = 2α/|λ(t n+1 )|,
(7.32)
où α est une constante qui doit être inférieure à 1 pour avoir une méthode
absolument stable.
Par exemple, considérons le problème
y
(t) = −(e
−t + 1)y(t),
t∈]0, 10[,
avec y(0) = 1. Comme |λ(t)| est décroissante, le condition la plus restrictive pour la stabilité absolue de la méthode d’Euler explicite est
h < h 0 = 2/|λ(0)| = 1. Sur la Figure 7.5, à gauche, on compare la
solution de la méthode d’Euler explicite avec celle de la méthode adaptative (7.32) pour trois valeurs de α. Remarquer que, bien que tout α < 1
rende l’algorithme stable, il est nécessaire de choisir α assez petit pour
avoir une solution précise. Sur la Figure 7.5, à droite, on trace le comportement de h n sur l’intervalle ]0, 10] correspondant aux trois valeurs
7 Equations différentielles ordinaires
0
5
10
15
20
25
30
−6
−4
−2
0
2
4
6
8
Figure 7.4. Solutions du problème (7.28), avec λ = −1, obtenues par la méthode d’Euler explicite, avec h = 30/14(> 2) (trait discontinu), h = 30/16(<
2) (trait plein) et h = 1/2 (trait mixte)
On peut tirer des conclusions analogues quand le λ de (7.28) est un
complexe (voir Section 7.6.1) ou une fonction négative de t. Mais dans
ce cas, on doit remplacer |λ| par max t∈[0,∞[ |λ(t)| dans la condition de
stabilité (7.30). On peut relaxer cette condition en une condition moins
stricte en utilisant un pas variable h n qui tient compte du comportement
local de |λ(t)| dans les intervalles ]t n , t n+1 [.
On peut utiliser en particulier la méthode d’Euler explicite adaptative :
choisir u 0 = y 0 et h 0 = 2α/|λ(t 0 )| ; puis
pour n = 0, 1, . . ., faire
t n+1 = t n + h n ,
u n+1 = u n + h n λ(t n )u n ,
h n+1 = 2α/|λ(t n+1 )|,
(7.32)
où α est une constante qui doit être inférieure à 1 pour avoir une méthode
absolument stable.
Par exemple, considérons le problème
y
(t) = −(e
−t + 1)y(t),
t∈]0, 10[,
avec y(0) = 1. Comme |λ(t)| est décroissante, le condition la plus restrictive pour la stabilité absolue de la méthode d’Euler explicite est
h < h 0 = 2/|λ(0)| = 1. Sur la Figure 7.5, à gauche, on compare la
solution de la méthode d’Euler explicite avec celle de la méthode adaptative (7.32) pour trois valeurs de α. Remarquer que, bien que tout α < 1
rende l’algorithme stable, il est nécessaire de choisir α assez petit pour
avoir une solution précise. Sur la Figure 7.5, à droite, on trace le comportement de h n sur l’intervalle ]0, 10] correspondant aux trois valeurs
