9.7 Chapitre 7
337
p =
0.7696
0.9273
0.9806
0.9951
0.9988
Comme prévu, la convergence est d’ordre un. Avec les mêmes instructions (en
remplaçant l’appel au programme feuler par un appel à beuler), on obtient
une estimation de l’ordre de convergence de la méthode d’Euler implicite :
p = log ( abs (e (1: end -1)./ e (2: end )))/ log (2); p (1:2: end )
p =
1.5199
1.0881
1.0204
1.0050
1.0012
Solution 7.2 On peut calculer de la manière suivante la solution numérique
du problème de Cauchy par la méthode d’Euler explicite :
t0 =0; T =1; N =100; f= inline ( ’ -t * exp ( -y ) ’, ’t ’ ,’y ’ );
y0 =0;[ t ,u ]= feuler (f ,[t0 , T] ,y0 , N );
Pour calculer le nombre de chiffres significatifs exacts, on peut estimer les
constantes L et M qui interviennent dans (7.13). Remarquer que, f (t, y(t))
étant < 0 dans l’intervalle considéré, y(t) = log(1 − t
2 /2) est une fonction
décroissante, s’annulant en t = 0. Comme f est continue, ainsi que sa dérivée
première, on peut approcher L par L = max 0≤t≤1 |L(t)| avec L(t) = ∂f /∂y =
te
−y . Remarquer que L(0) = 0 et L
(t) > 0 pour tout t ∈]0, 1]. Ainsi, en
utilisant l’hypothèse −1 < y < 0, on peut prendre L = e.
De même, pour calculer M = max 0≤t≤1 |y
(t)| avec y
= −e
−y −t
2 e
−2y , on
peut remarquer que cette fonction atteint son maximum en t = 1, et donc M =
e+e
2 . On peut tirer ces conclusions de l’analyse de la représentation graphique
du champ de vecteurs v(t, y) = [v1, v2]
T = [1, f(t, y(t))]
T associé au problème
de Cauchy. En effet, les solutions de l’équation différentielle y
(t) = f (t, y(t))
sont tangentes au champ de vecteurs v. Avec les instructions suivantes :
[T , Y ]= meshgrid (0:0.05:1 , -1:0.05:0);
V1= ones ( size ( T )); V2 = -T .* exp (Y ); quiver (T ,Y ,V1 , V2)
on voit que la solution du problème de Cauchy a une dérivée seconde négative
dont la valeur absolue croît avec t. Ceci nous amène à conclure que M =
max 0≤t≤1 |y
(t)| est atteint en t = 1.
On parvient aux mêmes conclusions en remarquant que la fonction −y
est positive et croissante, puisque y ∈ [−1, 0] et f (t, y) = y
< 0. Donc, les
fonctions e
−y et t
2 e
−2y sont également positives et croissantes et la fonction
y
= −e
−y − t
2 e
−2y est négative et décroissante. On en déduit que M =
max 0≤t≤1 |y
(t)| est atteint en t = 1.
D’après (7.13), pour h = 0.01 on en déduit
|u100 − y(1)| ≤
e
L − 1
L
M
200
0.26.
Ainsi, on ne peut garantir que plus d’un chiffre significatif soit exact. En effet,
on trouve u(end)=-0.6785, alors que la solution exacte (y(t) = log(1 − t
2 /2))
en t = 1 vaut y(1) = −0.6931.
Solution 7.3 La fonction d’itération est φ(u) = u−htn+1e
−u et les itérations
de point fixe convergent si |φ
(u)| < 1. Cette propriété est vérifiée si h(t0 +
Précédent

- 347/374

Suivant