Vous êtes sur la page 1sur 15

ISSAT Sousse A.

U:2022-2023
TD Méthodes Numériques Master-GM-A1

Correction Série 3: Résolution Numérique des EDO

Exercice 1.
Soient les points de mésures suivantes
xi 0.3 0.35 0.4 0.45 0.5 0.55
f (xi ) 1.7584 1.7941 1.8163 1.8207 1.8579 1.9130
1. Déterminer une valeur approchée de f ′ (x) aux points x = 0.4, x = 0.3 et x = 0.55.
2. Déterminer une valeur approchée de f ′′ (0.5).
3. Construire une méthode pour approcher f ′′ (0.3). Déterminer l’ordre de cette méthode.
Correction
Rappel : Approximation de la dérivée prémière :
f (xi + h) − f (xi )
• Différence finie progressive(avant) : f ′ (xi ) ≃ Dh+ f (xi ) = .
h
f (xi ) − f (xi − h)
• Différence finie rétrograde(arrière) : f ′ (xi ) ≃ Dh− f (xi ) = .
h
f (xi + h) − f (xi − h)
• Différence finie centrée : f ′ (xi ) ≃ Dhc f (xi ) = .
p p
2h
Ordre : une fonction g est un O(h ) : g(h) = O(h ) s’il existe C > 0, indépendante de h telle
que |g(h)| ⩽ Chp .
On utilisant des développements de taylor, on montre que l’erreur de troncature est de premier
ordre pour les formules progressive et rétrograde et d’ordre 2 pour la formule centrée (voir cours)
f ′ (xi ) = Dh+ f (xi ) + O(h), f ′ (xi ) = Dh− f (xi ) + O(h), f ′ (xi ) = Dhc f (xi ) + O(h2 )
Soient les points de s suivantes
xi 0.3 0.35 0.4 0.45 0.5 0.55
f (xi ) 1.7584 1.7941 1.8163 1.8207 1.8579 1.9130
D’après ce tableau le pas est h = 0.05.
1. D.F. centrée :
f (0.4 + h) − f (0.4 − h) f (0.45) − f (0.35) 1.8207 − 1.7941
f ′ (0.4) ≃ Dhc f (0.4) = = =
2h 0.1 0.1
DF progressive
f (0.3 + h) − f (0.3) f (0.35) − f (0.3) 1.7941 − 1.7584
f ′ (0.3) ≃ Dh+ f (0.3) = = =
h 0.05 0.05
DF rétrograde
f (0.55) − f (0.55 − h) f (0.55) − f (0.5) 1.9130 − 1.8579
f ′ (0.55) ≃ Dh− f (0.55) = = =
h 0.05 0.05
2. Approximation centrée de la dérivée seconde :
f (xi + h) − 2f (xi ) + f (xi − h)
f ′′ (xi ) ≃
h2
f (xi + h) − 2f (xi ) + f (xi − h)
Cette méthode est d’ordre 2 en h (voir cours) : f ′′ (xi ) = +
h2
2
O(h )
f (0.5 + h) − 2f (0.5) + f (0.5 − h) f (0.55) − 2f (0.5) + f (0.45)
f ′′ (0.5) ≃ =
h2 0.052

1
3. Cherchons une méthode progréssive pour approcher f ′′ (0.3)
f (xi + h) − f (xi )
On rappelle que f ′ (xi ) ≃ Dh+ f (x) = , alors
h
f ′′ (xi ) ≃ Dh+ Dh+ f (xi )

 
+ f (xi + h) − f (xi ) f (xi + h) − f (xi )
≃ Dh ≃ Dh+ (g(xi )) où g(xi ) =
h h
g(xi + h) − g(xi )

h
f (xi + 2h) − f (xi + h) f (xi + h) − f (xi )

≃ h h
h
f (xi + 2h) − 2f (xi + h) + f (xi )
f ′′ (xi ) ≃
h2
f (0.3 + 2h) − 2f (0.3 + h) + f (0.3) f (0.4) − 2f (0.35) + f (0.3)
f ′′ (0.3) ≃ =
h2 0.052
f (x + 2h) − 2f (x + h) − f (x)
Ordre de la méthode : f ′′ (x) ≃
h2
Par un développement de Taylor :
(2h)2 ′′ (2h)3 ′′′
f (x + 2h) = f (x) + (2h)f ′ (x) + f (x) + f (x) + O(h4 )
2! 3!
4h3 ′′′
f (x + 2h) = f (x) + 2hf ′ (x) + 2h2 f ′′ (x) + f (x) + O(h4 ) (1)
3
h2 ′′ h3
f (x + h) = f (x) + (h)f ′ (x) + f (x) + f ′′′ (x) + O(h4 ) (2)
2 6
(1) − 2(2) donne
f (x + 2h) − 2f (x + h) = −f (x) + h2 f ′′ (xi ) − h3 f ′′′ (x) + O(h4 )
=⇒ f (x + 2h) − 2f (x + h) + f (x) = h2 f ′′ (xi ) − h3 f ′′′ (x) + O(h4 )
f (x + 2h) − 2f (x + h) + f (x)
=⇒ = f ′′ (x) − hf ′′′ (x) + O(h2 )
h2
f (x + 2h) − 2f (x + h) + f (x)
=⇒ f ′′ (x) = + hf ′′′ (x) + O(h2 )
h2 | {z }
=O(h)

La méthode est d’ordre 1 en h.


Exercice 2.
Soit le problème de Cauchy
 ′
y (t) = t sin(y(t)), 0 ⩽ t ⩽ 1,
(P )
y(0) = 2.
1. Montrer que le problème (P ) admet une unique solution y.
2. En prenant un pas h = 0.1, Déterminer une valeur approchée y3 de y(0.3) par le schéma d’Euler
progressif puis par le schéma de point milieu explicite.
Correction :
 ′
y (t) = t sin(y(t)), 0 ⩽ t ⩽ 1,
(P )
y(0) = 2.
 ′
y (t) = f (t, y(t)), 0 ⩽ t ⩽ 1,
(P ) ⇐⇒
y(0) = 2.
avec f (t, y) = t sin(y).

2
1. Existence et unicité :
f (t, y) = t sin(y)
• ∀ y ∈ R, t 7−→ t sin(y) est continue sur [0, 1] (même de classe C ∞ ).
• ∀ t ∈ [0, 1], y 7−→ t sin(y) est continue sur R (même de classe C ∞ .).
Alors f est continue sur [0, 1] × R
Rappel : Soit g une fonction continue sur [a, b] et dérivable sur ]a, b[, d’après le théorème des
accroissements finis (TAF) il existe c ∈]a, b[ telle que

g(b) − g(a) = (b − a)g ′ (c).

• Montrons que f est Lipschitizienne par rapport à la deuxième variable.


Soit t ∈ [0, 1], y, z ∈ R

|f (t, y) − f (t, z)| = |t sin(y) − t sin(z)| = |t|| sin(y) − sin(z)| ⩽ 1| sin(y) − sin(z)|

On applique le TAF à la fonction t 7−→ sin(t) entre y et z : il existe c entre y et z, tel que

| sin(y) − sin(z)|=|(y − z)(sin′ (c))| = |(y − z)(cos(c))| ⩽ 1|y − z|.

Donc f est 1-Lipschitzienne par rapport à la deuxième variable, par suite le problème (P ) admet
une unique solution y.
2. h = 0.1, t0 = 0, t1 = 0.1, t2 = 0.2, t3 = 0.3 Soit yn une approximation de y(tn ).
On cherche une une approximation y3 de y(0.3)

Schéma d’Euler progressif :


(
yn+1 = yn + hf (tn , yn ), n = 0, 1, · · · N − 1,
(EP ) :
y0 = 2.

On a : h = 0.1, t0 = 0, t1 = 0.1, t2 = 0.2, t3 = 0.3 y0 = 2 et f (tn , yn ) = tn sin(yn ).

yn+1 = yn + hf (tn , yn ) = yn + 0.1(tn sin(yn ))

y0 = 2

• y1 = y0 + hf (t0 , y0 ) = y0 + 0.1 × t0 × sin(y0 ) = 2 + 0.1 × 0 × sin(2) = 2


• y2 = y1 + hf (t1 , y1 ) = y1 + 0.1 × t1 × sin(y1 ) = 2 + 0.1 × 0.1 × sin 2 = 2.0091
• y3 = y2 + hf (t2 , y2 ) = y2 + ht2 sin(y2) = 2.0091 + 0.1 × 0.2 × sin 2.0091 = 2.0272

y(0.3) ≃ y3 ≃ 2.0272

Méthode de point milieu explicite :


yn+1 = yn + hf tn + h2 , yn + h2 f (tn , yn )
( 
(P M ) :
y0 = 2
Pour simplifier
 les calculs,on note :

 K1 = f (tn , yn )


 K2 = f tn + h , yn + h K1
 
2 2
(P M ) :


 yn+1 = yn + hK2


y0 = 2.

On a : h = 0.1, t0 = 0, y0 = 2 et f (tn , yn ) = tn sin(yn ).

3
— Pour la première itération, on obtient :
K1 = f (t0 , y0 ) = t0 sin(y0 ) = 0 × sin 2 = 0
K2 = f t0 + h2 , y0 + h2 K1 = f (0.05, 2) = 0.05 sin(2) = 0.0455
=⇒ y1 = y0 + hK2 = 2.00455
— Deuxième itération
t1 = 0.1, y1 = 2.00455
K1 = f (t1 , y1 ) = 0.1 sin(y1) = 0.0907,
K2 = f t1 + h2 , y1 + h2 K1 = f (0.15, y1 + 0.05K1 ) = 0.15 sin(y1 + 0.05K1 ) = 0.1358,
y2 = y1 + hK2 = 2.0181
— troisième itération
t2 = 0.2, y2 = 2.0181
K1 = f (t2 , y2 ) = 0.2 sin(y2) = 0.1803,
K2 = f t2 + h2 , y2 + h2 K1 = f (0.25, y2 + 0.05K1 ) = 0.25 sin(y2 + 0.05K1 ) = 0.2244,
y3 = y2 + hK2 = 2.0406
y(0.3) ≃ y3 ≃ 2.0406

Exercice 3.
Soit le problème de Cauchy

y ′ (t) = t + y(t), 0 ⩽ t ⩽ 1,

(P )
y(0) = 2.

1. Montrer que le problème (P ) admet une solution unique y puis déterminer cette solution.
2. Appliquer la méthode d’Euler progressive (EP ) à (P ) avec un pas constant h = 0.1 puis évaluer
la solution en t = 0.3.
3. Déterminer l’erreur l’erreur commise par la méthode (EP ) dans ce cas.
4. Appliquer la méthode de Crank-Nicolson (CN ) à (P ) pour évaluer la solution en t = 0.3.
Rappel : Soit l’équation différentielle linéaire du premier ordre

(E) : y ′ (t) + a(t)y(t) = b(t).

L’équation homogène associée est : (H) : y ′ (t) + a(t)y(t) = 0,


sa solution est R
yh (t) = λe− a(t)dt , λ ∈ R.
R
Soit y0 = e− a(t)dt une solution homogène. On cherche une solution particulière de (E) par la méthode
de variation de la constante sous la forme

yp (t) = λ(t)y0 (t) =⇒ yp′ (t) = λ′ (t)y0 (t) + λ(t)y0′ (t)

yp (t) est solution de (E) alors yp′ (t) + a(t)yp (t) = b(t).
Les solution de l’équation (E) sont sous la forme y(t) = yh (t) + yp (t).
Correction de l’exercice 3

Soit le problème de Cauchy

y ′ (t) = t + y(t), 0 ⩽ t ⩽ 1,

(P )
y(0) = 2.

y ′ (t) = f (t, y(t)), 0 ⩽ t ⩽ 1,



⇐⇒
y(0) = 2.
f (t, y) = t + y.

4
1. a) Existence et unicité :
(i) La fonction f : (t, y) 7−→ f (t, y) = t + y est continue sur [0, 1] × R.
(ii) ∀ t ∈ [0, 1]; x, y ∈ R,

|f (t, x) − f (t, y)| = |t + x − t − y| = |x − y| ⩽ |x − y|

f est 1-lipshitizienne par rapport à la deuxième variable, d’après le théorème de Cauchy-Lipschiz


le problème (P ) admet une solution unique y.
b) Détermination de la solution exacte :

(E) : y ′ (t) = y(t) + t ⇐⇒ y ′ (t) − y(t) = t, a(t) = −1, b(t) = t

L’équation homogène :
y ′ (t) − y(t) = 0
Solution homogène : R R
yh (t) = λe− a(t)dt
= λe 1dt
= λet , λ ∈ R.
On cherche une solution particulière de (E) sous la forme

yp (t) = λ(t)et =⇒ y ′ p(t) = λ′ (t)et + λ(t)et

yp est solution de (E), alors

yp′ (t) − yp (t) = t ⇐⇒ λ′ (t)et + λ(t)et − λ(t)et = t ⇐⇒ λ′ (t)et = t


Z
⇐⇒ λ (t) = te =⇒ λ(t) = te−t dt
′ −t

Par une intégration par partie

u(t) = t −→ u′ (t) = 1
v ′ (t)
= e−t −→ v(t) = −e−t
Z
−t
λ(t) = −te + e−t dt = −te−t − e−t = −(t + 1)e−t =⇒ yp (t) = λ(t)et = −(t + 1)

Alors
y(t) = yh (t) + yp (t) = λet − (t + 1),
or y(0) = 2 ⇐⇒ λ − 1 = 2 =⇒ λ = 3

y(t) = 3et − (t + 1)

2. Schéma d’Euler progressif avec h = 0.1, f (tn , yn ) = yn + tn

y0 = 2, yn+1 = yn + hf (tn , yn ) = yn + h(yn + tn ) = (1 + h)yn + htn

h = 0.1, y3 est une approximation de y(0.3)

yn+1 = (1 + h)yn + htn


y1 = (1 + h)y0 + ht0 = 1.1y0 + 0.1t0 = 2.2

y2 = (1 + h)y1 + ht1 = 1.1y1 + 0.1 × 0.1 = 2.43

5

y3 = (1 + h)y2 + ht2 = 1.1y2 + 0.1 × 0.2 = 2.693
La solution exacte y(0.3) = 3e0.3 − (0.3 + 1) = 2.74957
Ereeur du schéma d’Euler :
|y3 − y(0.3)| = 0.0565

3. Schéma de Crank-Nicolson avec h = 0.1, f (tn , yn ) = yn + tn :

hh i hh i
y0 = 2, yn+1 = yn + f (tn , yn ) + f (tn+1 , yn+1 ) = yn + tn + yn + tn+1 + yn+1
2 2
h(tn + tn+1 ) h h
yn+1 = yn + + yn + yn+1
2 2 2
   
h h h(tn + tn+1 )
1− yn+1 = 1 + yn +
2 2 2
1 + h2

h(tn + tn+1 ) 1, 05 0.1(tn + tn+1 )
yn+1 = h
 yn + h
 = yn +
1− 2 2 1− 2 0.95 2 × 0.95

1, 05 0.1(0 + 0.1)
y1 = y0 + = 2.21578
0.95 2 × 0.95

1, 05 0.1(0.1 + 0.2)
y2 = y1 + = 2.464819
0.95 2 × 0.95

1, 05 0.1(0.2 + 0.3)
y3 = y2 + = 2.750589
0.95 2 × 0.95
Ereeur de Crank-Nicolson : |y3 − y(0.3)| = 0.00101 est inférieur à celle obtenue par le schéma
d’Euler
Exercice 4 (Schéma de Heun)

On considère le problème de Cauchy

y ′ (t) = f (t, y(t)),



0⩽t⩽T
(P )
y(0) = 1

où f est une fonction de classe C 2 sur [0, T ] × R et L−lipschitizienne par rapport à y :

|f (t, x) − f (t, y)| ⩽ L|x − y|


T
On se donne une subdivision unifrome de l’intervalle [0, T ] de pas h = N :
t0 = 0 < t1 < ... < tN = T.
Pour la résolution numérique de (P ), on opère avec le schéma de Heun suivant :

yn+1 = yn + h2 [f (tn , yn ) + f (tn+1 , yn + hf (tn , yn ))] , 0 ⩽ n < N


(
(Ph ) :
y0 = 1

1. Montrer que le schéma (Ph ) est stable.


2. Montrer que le schéma (Ph ) est consistant et convergent.
3. Montrer que le schéma est d’ordre 2.

6
Correction :
   


h

yn+1 = yn + f (tn , yn ) + f tn+1 , yn + hf (tn , yn ) , 0⩽n<N
   
(Ph ) : 2 |{z}


 tn +h
y0 = 1

(
yn+1 = yn + hΦ(tn , yn , h), 0⩽n<N
(Ph ) : ⇐⇒
y0 = 1
On rappel que tn+1 = tn + h
1
où Φ(tn , yn , h) = [f (tn , yn ) + f (tn + h, yn + hf (tn , yn ))]
2
1
Φ(t, y, h) =
[f (t, y) + f (t + h, y + hf (t, y))]
2
1) Stabilité : il suffit de montrer que Φ est lipschitizienne par rapport à la deuxième variable :
On a : f est L−lipschitizienne par rapport à la deuxième variable :
∀ t ∈ [0, T ], u ∈ R, v ∈ R, |f (t, u) − f (t, v)| ⩽ L|u − v|
Soient t ∈ [0, T ], 0 < h < T, x, y ∈ R
1h i
Φ(t, x, h) − Φ(t, y, h) = f (t, x) + f (t + h, x + hf (t, x))
2 h
1 i
− f (t, y) + f (t + h, y + hf (t, y))
2
1 1
|Φ(t, x, h) − Φ(t, y, h)| ⩽ |f (t, x) − f (t, y)| + |f (t + h, x + hf (t, x)) − f (t + h, y + hf (t, y))|
2 2
1 1
⩽ L|x − y| + L |x + hf (t, x) − y − hf (t, y)|
2 2
L L Lh
⩽ |x − y| + |x − y| + |f (t, x) − f (t, y)|, (0 < h ⩽ T )
2 2 2
L2 T
 
Lh
⩽ L|x − y| + L|x − y| ⩽ L + |x − y| ⩽ K|x − y|
2 2
L2 T
 
où K = L + . Alors Φ est K-lipschitizienne par rapport à la deuxième variable. =⇒ le schéma
2
est stable.
2) Consistance et convergence
1
Φ(t, y, h) = [f (t, y) + f (t + h, y + hf (t, y))] .
2
1
Φ(t, y, 0) = [f (t, y) + f (t, y))] = f (t, y) =⇒ schéma consistant.
2
Le schéma est stable et consistant donc il est convergent.
Rappel :
Le schéma est d’ordre p si et seulement si


 Φ(t, y, 0) = f (t, y)
 ∂Φ(t, y, 0) 1
f [1] (t, y)


 =
∂h 2


 .. ..


. .
 ∂ p−1 Φ(t, y, 0) 1 [p−1]
= f (t, y)




 ∂h p−1 p

 p
∂ Φ(t, y, 0) 1
f [p] (t, y)



p
̸=
∂h p+1

7

∂f (t, y) ∂f (t, y) ∂f [k] (t, y) ∂f [k] (t, y)
f [0] (t, y) = f (t, y), f [1] (t, y) = +f (t, y) , f [k+1] (t, y) = +f (t, y)
∂t ∂y ∂t ∂y

3) Ordre de convergence :
Le schéma est d’ordre 2 si et seulement si :


 Φ(t, y, 0) = f (t, y)
 ∂Φ(t, y, 0)
 1 [1]
= f (t, y)
2
∂h 2
 ∂ Φ(t, y, 0) 1 [2]


̸= f (t, y)

∂hp2 3
1
Φ(t, y, h) = [f (t, y) + f (t + h, y + hf (t, y))] .
2
i) Φ(t, y, 0) = f (t, y). =⇒ le schéma est au moins d’ordre 1.
∂Φ(t, y, 0) 1
ii) Montrons que = f [1] (t, y).
∂h 2
∂f dt(h) ∂f dy(h) ∂f
Formule : (t(h), y(h)) = (t(h), y(h)) + (t(h), y(h))
∂h dh ∂t dh ∂y
1
Φ(t, y, h) = [f (t, y) + f (t + h, y + hf (t, y))] .
2
 
∂Φ(t, y, h) 1 ∂f ∂f
= 0+ (t + h, y + hf (t, y)) + f (t, y) (t + h, y + hf (t, y))
∂h 2 ∂t ∂y
 
∂Φ(t, y, 0) 1 ∂f ∂f 1
= (t, y) + f (t, y) (t, y) = f [1] (t, y)
∂h 2 ∂t ∂y 2
Le schéma est au moins d’ordre 2.
∂ 2 Φ(t, y, 0) 1
iii) On montrer que 2
̸= f [2] (t, y) :
∂h 3
 
∂Φ(t, y, h) 1 ∂f ∂f
= (t + h, y + hf (t, y)) + f (t, y) (t + h, y + hf (t, y))
∂h 2 ∂t ∂y

∂2ϕ
   
∂ ∂Φ 1 ∂ ∂f ∂f
(t, y, h) = (t, y, h) = (t + h, y + hf (t, y)) + f (t, y) (t + h, y + hf (t, y))
∂h2 ∂h ∂h 2 ∂h ∂t ∂y
 2
∂2f

1 ∂ f
= (t + h, y + hf (t, y)) + f (t, y) (t + h, y + hf (t, y))
2 ∂t2 ∂y∂t
 2
∂2f

1 ∂ f
+ f (t, y) (t + h, y + hf (t, y)) + f (t, y) 2 (t + h, y + hf (t, y))
2 ∂t∂y ∂y
en h = 0
∂2ϕ 1 ∂2f ∂2f ∂2f
 
2
(t, y, 0) = (t, y) + 2f (t, y) (t, y) + f (t, y) 2 (t, y)
∂h2 2 ∂t2 ∂y∂t ∂y
D’autre par :
∂f [1] ∂f [1]
f [2] (t, y) = (t, y) + f (t, y) (t, y)
∂t ∂y
   
[2] ∂ ∂f ∂f ∂ ∂f ∂f
f (t, y) = (t, y) + f (t, y) (t, y) + f (t, y) (t, y) + f (t, y) (t, y)
∂t ∂t ∂y ∂y ∂t ∂y
" #
∂f (t, y) 2
 2
∂ 2 f (t, y) ∂ 2 f (t, y) ∂ 2 f (t, y)
  
∂ f ∂f (t, y) ∂f (t, y)
= (t, y) + · + f (t, y) +f (t, y) + + f (t, y)
∂t2 ∂t ∂y ∂t∂y ∂y∂t ∂y ∂y 2

8
2
∂2f ∂ 2 f (t, y) ∂ 2 f (t, y)

[2] ∂f ∂f ∂f (t, y)
f (t, y) = 2 + · + 2f (t, y) + f (t, y) + f 2 (t, y)
∂t ∂t ∂y ∂t∂y ∂y ∂y 2
∂ 2 Φ(t, y, 0) 1
On a : ̸= f [2] (t, y) =⇒ Le schéma est d’ordre 2.
∂h2 3
Exercice 5.
On considère le problème de Cauchy
 ′
y (t) = f (t, y(t)) = t − sin(2y(t)), 0⩽t⩽1
(P )
y(0) = 0
On note f (t, y) = t − sin(2y).
On se donne une subdivision unifrome de l’intervalle [0, 1] de pas constant h = N1 :
t0 = 0 < t1 < ... < tN = 1.
Pour la résolution numérique de (P ), on opère avec le schéma numérique suivant :
( h i
yn+1 = yn + h4 f (tn , yn ) + 3f tn + 23 h, yn + 23 hf (tn , yn ) , 0 ⩽ n < N.
(Ph ) :
y0 = 0,
où tn = nh, 0 < h < 1 et yn est une approximation de y(tn ).
1. Montrer que le problème (P ) admet une unique solution y.
2. Déterminer une majoration de sup |y ′′′ (t)|.
t∈[0,1]
3. Montrer que le schéma (Ph ) est stable et déterminer une constante de stabilité M.
4. Montrer que le schéma (Ph ) est convergent.
5. Montrer que le schéma est d’ordre 2.
6. Déterminer une constante K indépendante de h telle que

max |yn − y(tn )| ⩽ Kh2 .


0⩽n⩽N

7. En déduire le pas h nécessaire pour avoir une erreur globale inférieur à 10−4 .
Correction :

y ′ (t) = f (t, y(t)) = t − sin(2y(t)),



0⩽t⩽1
(P )
y(0) = 1
1. f (t, y) = t − sin(2y)

• ∀ y ∈ R, t 7−→ t − sin(2y) est continue sur [0, 1] (même de classe C ∞ ).


• ∀ t ∈ [0, 1], y 7−→ t − sin(2y) est continue sur R (même de classe C ∞ .).
Alors f est continue sur [0, 1] × R
• Montrons que f est Lipschitizienne par rapport à la deuxième variable.
Soit t ∈ [0, 1], y, z ∈ R

|f (t, y) − f (t, z)| = |t − sin(2y) − (t − sin(2z)| = | − sin(2y) + sin(2z)| = | sin(2y) − sin(2z)|

On applique le théorème des accroissements finis à la fonction t 7−→ sin(t) entre 2y et 2z : il


existe c dans l’intervalle d’extrémités 2y et 2z, tel que
| sin(2y) − sin(2z)|=|(2y − 2z)(sin′ (c))| = |(2y − 2z)| · |(cos(c))| ⩽ 2|y − z|.
| {z }
⩽1

Donc f est 2-Lipschitzienne par rapport à la deuxième variable, par suite le problème (P ) admet
une unique solution y.

9
2.
y ′ (t) = f (t, y(t)) = t − sin(2y(t))
f est de classe C ∞ sur [0, 1] × R, donc la solution y l’est aussi sur l’intervalle [0, 1].

y ′ (t) = t − sin(2y(t)) = t + (− sin(2y(t)) ⇒ |y ′ (t)| ⩽ |t| + | sin(2y(t))| ⩽ 1 + 1 = 2.


|{z} | {z }
⩽1 ⩽1

y ′′ (t) = 1 − 2y ′ (t) cos(2y(t)) ⇒ |y ′′ (t)| ⩽ |1| + 2|y ′ (t)|| cos(2y(t))| ⩽ 1 + 2 × 2 = 5.


y (3) (t) = −2y ′′ (t) cos(2y(t)) + 4(y ′ (t))2 sin(2y(t))
⇒ |y (3) (t)| ⩽ 2|y ′′ (t) cos(2y)| + 4|(y ′ (t))2 || sin(2y)| ⩽ 2|y ′′ (t)| + 4|(y ′ (t))|2 ⩽ 2 × 5 + 4 × 22 = 26.
sup |y (3) (t)| ⩽ 26
t∈[0,1]

3.  i
hh 2 2
(Ph ) : yn+1 = yn + f (tn , yn ) + 3f tn + h, yn + hf (tn , yn ) ,
4 3 3
où 0 ⩽ n < N et y0 = 1.
Le schéma (Ph ) se décrit à l’aide de la fonction Φ définie par :
  
1 2h 2h
Φ(tn , yn , h) = f (tn , yn ) + 3f tn + , yn + f (tn , yn )
4 3 3
  
1 2h 2h
Φ(t, y, h) = f (t, y) + 3f t + ,y + f (t, y)
4 3 3
Un schéma numérique est dit stable si la fonction Φ est Lipschitzienne par rapport à la deuxième
variable : Soit t ∈ [0, 1], h ∈ [0, 1], y, z ∈ R :
On utilise le fait que f est 2-lipschitizienne par rapport à la deuxième variable :

|f (t, u) − f (t, v)| ⩽ 2|u − v| :


 i
1h 2 2
|Φ(t, y, h) − Φ(t, z, h)| = f (t, y) + 3f t + h, y + hf (t, y)
4  3 3 i
1h 2
− f (t, z) + 3f t + h, z + hf (t, z)
4 3
1 3
f (t, y) − f (t, z) + f t + 23 h, y + 32 hf (t, y) − f t + 23 h, z + 23 hf (t, z)
 

4 4   
1 3 2 2
⩽ · 2|y − z| + · 2 y + hf (t, y) − z + hf (t, z)
4 4
 3   3 
1 3 2 2
⩽ |y − z| + y + hf (t, y) − z + hf (t, z)
2 2 3 3
1 3 32
⩽ |y − z| + |y − z| + h|f (t, y) − f (t, z)|
2 2 23
⩽ 2|y − z| + 2h|y − z| ⩽ 4|y − z| (car h ∈ [0, 1])
Donc le schéma (∗) est stable et sa constante de stabilité est M = e4 .

4. Consistance :   
1 2h 2h
Φ(t, y, h) = f (t, y) + 3f t + ,y + f (t, y)
4 3 3
1
Φ(t, y, 0) =[f (t, y) + 3f (t, y)] = f (t, y). =⇒ le schéma est consistant.
4
le schéma est consistant et stable donc il est convergent.

10
5. Ordre de convergence :
i)
Φ(t, y, 0) = f (t, y) =⇒ Le schéma est au moins d’ordre 1.
∂Φ ? 1
ii) (t, y, 0) = f [1] (t, y).
∂h 2
 
1 3 2 2
Φ(t, y, h) = f (t, y) + f t + h, y + hf (t, y)
4 4 3 3
   
∂Φ 3 2 ∂f 2 2 32 ∂f 2 2
(t, y, h) = 0 + t + h, y + hf (t, y) + f (t, y) t + h, y + hf (t, y)
∂h 4 3 ∂t 3 3 43 ∂y 3 3
   
∂Φ 1 ∂f 2 2 1 ∂f 2 2
(t, y, h) = t + h, y + hf (t, y) + f (t, y) t + h, y + hf (t, y)
∂h 2 ∂t 3 3 2 ∂y 3 3
Donc,
∂Φ 1 h ∂f (t, y) ∂f (t, y) i
(t, y, 0) = + f (t, y) = f [1] (t, y).
∂h 2 ∂t ∂y
On a :
∂Φ 1
(t, y, 0) = f [1] (t, y).
∂h 2
Donc le schéma est au moins d’ordre 2.
∂2Φ 1
iii)Montrons que (t, y, h) ̸= f [2] (t, y)
∂h2 3
∂f ∂f
f (t, y) = t − sin(2y) =⇒ (t, y) = 1, (t, y) = −2 cos(2y)
∂t ∂y
   
∂Φ 1 ∂f 2 2 1 ∂f 2 2
(t, y, h) = t + h, y + hf (t, y) + f (t, y) t + h, y + hf (t, y)
∂h 2 ∂t 3 3 2 ∂y 3 3
 
∂Φ 1 4
(t, y, h) = − f (t, y) cos 2y + hf (t, y)
∂h 2 3
∂2Φ
   
4 2 4 4 2 4
(t, y, h) = f (t, y) sin 2y + hf (t, y) = (t − sin(2y)) sin 2y + hf (t, y) .
∂h2 3 3 3 3
∂f (t, y) ∂f (t, y)
f [1] (t, y) = + f (t, y) = 1 − 2f (t, y) cos(2y).
∂t ∂y
∂f [1] (t, y) ∂f [1] (t, y)
f [2] (t, y) = + f (t, y)
∂t ∂y
h i
f [2] (t, y) = −2 cos(2y) + f (t, y) 4 cos2 (2y) + 4f (t, y) sin(2y) .

Ainsi,
∂2Φ 1
2
(t, y, 0) ̸= f [2] (t, y).
∂h 3
Le schéma n’est pas d’ordre 3.
Par suite le schéma (∗) est convergent d’ordre 2.
6. Estimation d’erreur Comme le schéma est stable de constante de stabilité M = e4 et
convergent d’ordre 2, alors l’erreur globale theorique est majorée par :

max |y(tn ) − yn | ⩽ M Ch2


0⩽n⩽N

∂2ϕ
 
1 1
C=T sup y (3) (t) + sup (t, y(t), h)
3! 2! ∂h2

11
D’après la question 2)
sup |y (3) (t)| ⩽ 26
t∈[0,1]

D’autre par pour t ∈ [0, 1], 0 < h < 1 :

∂2Φ
 
4 2 4
(t, y, h) = (t − sin(2y)) sin 2y + hf (t, y)
∂h2 3 3

∂2Φ 4 4 4 16
(t, y, h) ⩽ (t − sin(2y))2 ⩽ (|t| + | sin(2y)|)2 ⩽ (1 + 1)2 =
∂h2 3 3 3 3
Alors
∂2ϕ
   
1 1 26 1 16 42
C=T sup y (3) (t) + sup (t, y(t), h) ⩽1 + = =7
3! 2! ∂h2 6 2 3 6

L’erreur globale théorique vérifie donc

max |y(tn ) − yn | ⩽ 7e4 h2


0⩽n⩽N

7. Pour que l’erreur soit inférieur à 10−4 , il suffit que


r
10−4 10−4
7e4 h2 ⩽ 10−4 =⇒ h2 ⩽ =⇒ h ⩽
7e4 7e4

Exercice 6.
On considère le problème de Cauchy

y ′ (t) = y(t) + e2t


(
t ∈ [0, 1]
(P )
y(0) = 2

1. Vérifier que la solution exacte est : y(t) = et + e2t .


2. En prenanth = 0.1, faire 3 itérations de la méthode de Heun et calculer l’erreur commise sur y3
en comparant les résultats avec la solution analytique y(0.3).
3. En prenant h = 0.05, faire 6 itérations de la méthode de Heun et calculer l’erreur commise sur
y6 en comparant les résultats avec la solution analytique y(0.3).
4. Faire le rapport des erreurs commises en 2) et en 3) et commenter le résultat en fonction de
l’erreur de troncature locale liée à la méthode utilisée.
Correction :

y ′ (t) = y(t) + e2t


(
t ∈ [0, 1]
(P )
y(0) = 2
( ′
y (t) = f (t, y(t)) t ∈ [0, 1]
(P ) ⇐⇒
y(0) = 2
avec f (t, y) = y + e2t .
1. On montre par le théorème de Cauchy-Lipschitz que le problème (P ) admet une unique solution.
Vérifions que la solution exacte est : y(t) = et + e2t :

y ′ (t) = et + 2e2t , y(t) + e2t = et + e2t + e2t = et + 2e2t = y ′ (t)

y(0) = e0 + e0 = 2, alors y(t) = et + e2t est la solution du problème (P ).

12
2. f (t, y) = y + e2t ,
Schéma de Heun :
yn+1 = yn + h2 [f (tn , yn ) + f (tn+1 , yn + hf (tn , yn ))]


y0 = 2

t0 = 0, t1 = 0.1, t2 = 0.2, t3 = 0.3, h = 0.1, y0 = 2, f (tn , yn ) = yn + e2tn .

y(0.3) ≃ y3 Calculons y3

Première méthode/ Pour simplifier les calcul on peut ecrire :


Schéma de Heun :

 y0 = α

 K1 = f (tn , yn )

(CH) : K2 = f (tn+1 , yn + hK1 )
h



 y
n+1 = yn + (K1 + K2 ).
2

(a) Première itération h = 0.1, t0 = 0, t1 = 0.1, y0 = 2


— K1 = f (t0 , y0 ) == y0 + e2t0 = 3
— K2 = f (t1 , y0 + hK1 ) = f (0.1, 2 + 0.1K1 ) = f (0.1, 2.3) = 2.3 + e2×0.1 = 3.5214
h
— y1 = y0 + (K1 + K2 ) = 2 + 0.05(3 + 3.5214) = 2.3261
2
(b) Deuxième itération t1 = 0.1, t2 = 0.2, y1 = 2.3261
— K1 = f (t1 , y1 ) = y1 + e2t1 = 3.5475
— K2 = f (t2 , y1 + 0.1K1 ) = f (0.2, 2.3261 + 0.35475) = 2.3261 + 0.35475 + e2×0.2 = 4.1726
h
— y2 = y1 + (K1 + K2 ) = 2.7121
2
(c) Troisième itération t2 = 0.2, t3 = 0.3, y2 = 2.7121
— K1 = f (t2 , y2 ) = y2 + e2t2 = 4.2039
— K2 = f (t3 , y2 + 0.1K1 ) = y2 + 0.1K1 + e2×0.3 = 4.9546
h
— y3 = y2 + (K1 + K2 ) = 3.1700
2
Deuxième méthode : Schéma de Heun :
yn+1 = yn + h2 [f (tn , yn ) + f (tn+1 , yn + hf (tn , yn ))]


y0 = 2

Pour simplifier les calculs on note yen = yn + hf (tn , yn ) :



y =2
 0


Schéma de Heun : ⇐⇒ yen = yn + hf (tn , yn )

yn+1 = yn + h2 [f (tn , yn ) + f (tn+1 , yen )]

t0 = 0, t1 = 0.1, t2 = 0.2, t3 = 0.3, h = 0.1, y0 = 2, f (tn , yn ) = yn + e2tn .

y(0.3) ≃ y3 Calculons y3
0.1
• ye0 = y0 + 0.1f (t0 , y0 ) = 2.3 =⇒ y1 = y0 + 2 [f (t0 , y0 ) + f (t1 , ye0 ] = 2.326070
0.1
• ye1 = y1 + 0.1f (t1 , y1 ) = 2.680817 =⇒ y2 = y1 + 2 [f (t1 , y1 ) + f (t2 , ye1 ] = 2.712076
• ye2 = y2 + 0.1f (t2 , y2 ) = 3.132466
0.1
=⇒ y3 = y2 + [f (t2 , y2 ) + f (t3 , ye2 ] = 3.170000
2

13
Solution exacte est y(0.3) = e0.3 + e2×0.3 = 3.171977. L’erreur est alors donnée par :

|y(0.3) − y3 | = |3.171977 − 3.170000| = 0.001977.

3. y0 = 2, h = 0.05, t0 = 0, t1 = 0.05, t2 = 0.1, t3 = 0.15, · · · , t6 = 0.3, f (tn , yn ) = yn + e2tn .


0.05
• ye0 = y0 + 0.05f (t0 , y0 ) = 2.15 =⇒ y1 = y0 + 2 [f (t0 , y0 ) + f (t1 , ye0 ] = 2.156379
• ye1 = 2.319457 =⇒ y2 = 2.326439
• ye2 = 2.503832 =⇒ y3 = 2.511478
• ye3 = 2.704545 =⇒ y4 = 2.712928
• ye4 = 2.923158 =⇒ y5 = 2.932336
• ye5 = 3.161390 =⇒ y6 = 3.171450
L’erreur est alors donnée par : |y(0.3) − y6 | = |3.171977 − 3.171450| = 0, 000527.

4. Le rapport d’érreur est


Err(h) 0.001977
h
= = 3.75 ≈ 4 = 22
Err 2 0.000527
qui confirme que la méthode de Heun est d’ordre 2.
Remarque : Si le schéma est d’ordre p =⇒ |Err(h)| = |y(tn ) − yn | ⩽ ChP
 p
Chp
 
p h h |Err(h)|
|Err(h)| ≈ Ch , Err ≈C =⇒ h
 ≈  = 2p .
h p
2 2 Err 2 C 2
Exercice 7 (Schéma A-stable (absolument stable))
Soit β > 0 un nombre réel positif et considérons le problème de Cauchy
 ′
y (t) = −βy(t), t > 0
(Pc ) :
y(0) = y0 .

où y0 ̸= 0 est une valeur donnée. f (t, y) = −βy.


La solution exacte est
y(t) = y0 e−βt ,
donc lim y(t) = 0.
t→+∞
Soit h > 0 un pas du temps donné, tn = nh, pour n ∈ N et notons yn ≈ y(tn ) une approximation de
la solution y au point tn .
Si lim yn = 0, on dit que le schéma est A-stable.
n→+∞
1. Déterminer l’expression explicite de (yn )n∈N par le schéma d’Euler progressif.
2. Ce schéma est-il A-stable ?
3. Déterminer l’expression de explicite de (yn )n∈N par le schéma d’Euler rétrograde (implicite ).
4. Ce schéma est-il A-stable ?
Correction :
f (tn , yn ) = −βyn
1. Le schéma d’Euler progressif :

yn+1 = yn + hf (tn , yn ) = yn + h(−β)yn = (1 − βh)yn , y0 donnée

(yn ) est une suite géométrique de raison q = (1 − βh) =⇒ yn = (1 − βh)n y0


En effet

yn+1 = (1 − βh)yn =⇒ yn = (1 − βh)yn−1 = (1 − βh)2 yn−2 = (1 − βh)3 yn−3 = · · · = (1 − βh)n y0

14
2. Le schéma est A-stable si et seulement si lim yn = 0,
n→+∞
(yn ) est une suite géométrique de raison q = (1 − βh) donc
2
lim yn = 0 ⇐⇒ |1 − βh| < 1 ⇐⇒ −1 < 1 − βh < 1 ⇐⇒ 0 < βh < 2 ⇐⇒ 0 < h <
n→+∞ β
2
le schéma d’Euler progressif est A-stable ssi h < ·
β
3. Le schéma d’Euler rétrograde (implicite ) :

yn+1 = yn + hf (tn+1 , yn+1 ) = yn + h(−β)yn+1 =⇒ (1 + hβ)yn+1 = yn


 
1
=⇒ yn+1 = yn
1 + hβ
   n
1 1
(yn ) est une suite géométrique de raison q = =⇒ yn = y0
1 + hβ 1 + hβ
 
1
En effet yn+1 = yn
1 + hβ
   2  3  n
1 1 1 1
=⇒ yn = yn−1 = yn−2 = yn−3 = · · · = y0
1 + hβ 1 + hβ 1 + hβ 1 + hβ
 
1
4. Comme (yn ) est une suite géométrique de raison q = 1+hβ .
 
1
Remarquons que 0 < q = 1+hβ < 1, donc pour tout h > 0, lim yn = 0.
n→+∞
Donc le schéma d’Euler implicite est inconditionnellement A-stable.

15

Vous aimerez peut-être aussi