7.10 Quelques exemples
253
fournie par une méthode implicite du même ordre mais n’utilisant pas
un pas de temps adaptatif.
Octave 7.3 ode23 effectue 847 itérations pour construire une solution
avec une tolérance de 1e-3.
7.10.3 Des problèmes raides
Considérons l’équation différentielle suivante, proposée dans [Gea71]
comme une variante du problème modèle (7.28)
y
(t) = λ(y(t) − g(t)) + g
(t),
t>0,
y(0) = y 0 ,
(7.73)
où g est une fonction régulière et λ 0. La solution de ce problème est
donnée par
y(t) = (y 0 − g(0))e
λt + g(t),
t≥ 0.
(7.74)
Elle est constituée de deux termes, (y 0 −g(0))e
λt et g(t), le premier étant
négligeable par rapport au second pour t assez grand. Par exemple, on
prend g(t) = t, λ = −100 et on résout le problème (7.73) sur l’intervalle ]0, 100[ avec la méthode d’Euler explicite : puisque dans ce cas
f(t, y) = λ(y(t) − g(t)) + g
(t), on a ∂f/∂y = λ, et l’analyse de stabilité
effectuée à la Section 7.5 suggère de choisir h < 2/100. Cette restriction provient de la présence d’un terme en e
−100t et semble totalement
injustifiée quand on pense à l’importance relative très faible de cette
composante par rapport au reste de la solution (pour fixer les idées,
si t = 1 on a e
−100
≈ 10
−44 ). La situation empire encore quand on
utilise une méthode explicite d’ordre plus élevé, comme par exemple la
méthode d’Adams-Bashforth (7.55) d’ordre 3 : la région de stabilité absolue se réduit (voir Figure 7.12) et, par conséquent, la restriction sur h
devient encore plus stricte, h < 0.00545. Ne pas respecter, même légèrement, cette restriction conduit à des solutions totalement inacceptables
(comme le montre la Figure 7.22, à gauche).
Nous sommes donc face à un problème apparemment simple, mais qui
est difficile à résoudre avec une méthode explicite (et plus généralement
avec une méthode qui n’est pas A-stable) à cause de la présence de deux
termes dans la solution dont le comportement est totalement différent
quand t tend vers l’infini : un problème de ce type est appelé problème
raide.
Plus généralement, on dit qu’un système d’équations différentielles
de la forme
y
(t) = Ay(t) + ϕ(t),
A ∈ R
n×n , ϕ(t) ∈ R
n ,
(7.75)
253
fournie par une méthode implicite du même ordre mais n’utilisant pas
un pas de temps adaptatif.
Octave 7.3 ode23 effectue 847 itérations pour construire une solution
avec une tolérance de 1e-3.
7.10.3 Des problèmes raides
Considérons l’équation différentielle suivante, proposée dans [Gea71]
comme une variante du problème modèle (7.28)
y
(t) = λ(y(t) − g(t)) + g
(t),
t>0,
y(0) = y 0 ,
(7.73)
où g est une fonction régulière et λ 0. La solution de ce problème est
donnée par
y(t) = (y 0 − g(0))e
λt + g(t),
t≥ 0.
(7.74)
Elle est constituée de deux termes, (y 0 −g(0))e
λt et g(t), le premier étant
négligeable par rapport au second pour t assez grand. Par exemple, on
prend g(t) = t, λ = −100 et on résout le problème (7.73) sur l’intervalle ]0, 100[ avec la méthode d’Euler explicite : puisque dans ce cas
f(t, y) = λ(y(t) − g(t)) + g
(t), on a ∂f/∂y = λ, et l’analyse de stabilité
effectuée à la Section 7.5 suggère de choisir h < 2/100. Cette restriction provient de la présence d’un terme en e
−100t et semble totalement
injustifiée quand on pense à l’importance relative très faible de cette
composante par rapport au reste de la solution (pour fixer les idées,
si t = 1 on a e
−100
≈ 10
−44 ). La situation empire encore quand on
utilise une méthode explicite d’ordre plus élevé, comme par exemple la
méthode d’Adams-Bashforth (7.55) d’ordre 3 : la région de stabilité absolue se réduit (voir Figure 7.12) et, par conséquent, la restriction sur h
devient encore plus stricte, h < 0.00545. Ne pas respecter, même légèrement, cette restriction conduit à des solutions totalement inacceptables
(comme le montre la Figure 7.22, à gauche).
Nous sommes donc face à un problème apparemment simple, mais qui
est difficile à résoudre avec une méthode explicite (et plus généralement
avec une méthode qui n’est pas A-stable) à cause de la présence de deux
termes dans la solution dont le comportement est totalement différent
quand t tend vers l’infini : un problème de ce type est appelé problème
raide.
Plus généralement, on dit qu’un système d’équations différentielles
de la forme
y
(t) = Ay(t) + ϕ(t),
A ∈ R
n×n , ϕ(t) ∈ R
n ,
(7.75)
