Académique Documents
Professionnel Documents
Culture Documents
1 Dérivation numérique
Développement de Taylor :
Si f est une fonction dont les dérivées jusqu’à l’ordre (n + 1) existent au voisinage de x, alors pour h
assez petit on a :
ti+1 = ti + h ti−1 = ti − h
f (ti+1 ) − f (ti )
Dh+ f (ti ) = ≃ f ′ (ti ), i = 0, · · · , N − 1
h
f (ti ) − f (ti−1 )
Dh− f (ti ) = ≃ f ′ (ti ), i = 1, · · · , N
h
f (ti+1 ) − f (ti−1 )
Dhc f (ti ) = ≃ f ′ (ti ), i = 1, · · · , N − 1
2h
Dh+ f (ti ), Dh− f (ti ) et Dhc f (ti ) sont des approximations de f ′ (ti ).
On appelle erreur de troncature au point ti les différences f ′ (ti ) − Dh+ f (ti ) , f ′ (ti ) − Dh− f (ti ) et
|f ′ (ti ) − Dhc f (ti )| .
Proposition 1 L’erreur de troncature est de premier ordre pour les formules progressive et rétrograde
et d’ordre 2 pour la formule centrée. Plus précisément on a :
f (ti+1 ) − f (ti ) 1
1. f ′ (ti ) − ⩽ C1 h, où C1 = sup |f ′′ (x)|
h 2 x∈[ti ,ti+1 ]
1
f (ti ) − f (ti−1 ) 1
2. f ′ (ti ) − ⩽ C2 h, où C2 = sup |f ′′ (x)|
h 2 x∈[ti−1 ,ti ]
f (ti+1 ) − f (ti−1 ) 1
3. f ′ (ti ) − ⩽ C3 h2 , où C3 = sup |f ′′′ (x)|
2h 6 x∈[ti−1 ,ti+1 ]
Démonstration :
La démonstration est basée sur l’application de formule de Taylor au voisinage de ti .
1. On suppose que f est de classe C 2 , on utilise la formule de Taylor à l’ordre 2 au voisinage de
ti :
h2
f (ti+1 ) = f (ti + h) = f (ti ) + hf ′ (ti ) + f ′′ (η), η ∈]ti , ti+1 [
2
h2 ′′ f (ti+1 ) − f (ti ) h
=⇒ f (ti+1 ) − f (ti ) = hf ′ (ti ) + f (η) =⇒ = f ′ (ti ) + f ′′ (η)
2 h 2
On en déduit que
1
où C1 = sup |f ′′ (x)|.
2 x∈[ti ,ti+1 ]
2. De la même façon :
h2 ′′
f (ti − h) = f (ti ) − hf ′ (ti ) + f (η), η ∈]ti−1 , ti [
2
f (ti ) − f (ti − h) h ′′ f (ti ) − f (ti−1 )
=⇒ f ′ (ti ) = + f (η) =⇒ f ′ (ti ) − ⩽ C2 h
h 2 h
1
où C2 = sup |f ′′ (x)|
2 x∈[ti−1 ,ti ]
3. On suppose que f est de classe C 3 sur [a, b] et on applique la formule de Taylor à l’ordre 3 au
voisinage de ti :
h2 ′′ h3
f (ti + h) = f (ti ) + hf ′ (ti ) + f (ti ) + f ′′′ (η1 ), η1 ∈]ti , ti+1 [ (1)
2 3!
h2 ′′ h3
f (ti − h) = f (ti ) − hf ′ (ti ) + f (ti ) − f ′′′ (η2 ), η2 ∈]ti−1 , ti [ (2)
2 3!
(1) − (2) donne
h3 ′′′
f (ti + h) − f (ti − h) = 2hf ′ (ti ) + f (η1 ) + f ′′′ (η2 ) .
6
En divisant par 2h, on obtient :
f (ti+1 ) − f (ti−1 ) 1
f ′ (ti ) − ⩽ Ch2 , où C = sup |f ′′′ (x)|
2h 6 x∈[ti−1 ,ti+1 ]
2
1.2 Approximation de la dérivée seconde
On peut déterminer une approximation centrée de f ′′ (ti ) en utilisant les opérateurs linéaires Dh+ et
− ′′ + ′ + −
Dh : f (ti ) ≃ Dh (f (ti )) ≃ Dh Dh f (ti ) . On obtient
′′ + f (ti ) − f (ti−1 )
f (ti ) ≃ Dh
h
f (ti+1 ) − f (ti ) f (ti ) − f (ti−1 )
−
≃ h h
h
f (ti+1 ) − 2f (ti ) + f (ti−1 )
≃ . (différence finie centrée)
h2
f (ti+1 ) − 2f (ti ) + f (ti−1 )
On montre que ∆h f (ti ) = 2
est une approximation consistante et d’ordre 2
h
de la dérivée seconde f ′′ (ti ). (il suffit d’utiliser la formule de Taylor à l’ordre 4 au voisinage de ti en
ti + h et ti + h)
Proposition 2 Supposons que f est de classe C4 sur [a, b], alors il existe une constante positive C
indépendante de h telle que
f (ti+1 ) − 2f (ti ) + f (ti−1 ) 1
f ′′ (ti ) − ⩽ Ch2 , où C = sup |f (4) (x)|.
h2 12 x∈[a,b]
Démonstration :
Pour déterminer l’ordre de l’erreur de troncature (de consistance) liée à l’approximation f ′′ (ti ), on
utilise la formule de Taylor à l’ordre 4 au voisinage de ti :
h2 ′′ h3 h4
f (ti + h) = f (ti ) + hf ′ (ti ) + f (ti ) + f ′′′ (ti ) + f (4) (η1 ), η1 ∈]ti , ti+1 [ (1)
2! 3! 4!
h2 ′′ h3 h4
f (ti − h) = f (ti ) − hf ′ (ti ) + f (ti ) − f ′′′ (ti ) + f (4) (η2 ), η2 ∈]ti−1 , ti [ (2)
2! 3! 4!
En ténant compte que ti + h = ti+1 et ti − h = ti−1 , (1) + (2) donne
h4 h (4) i
f (ti+1 ) + f (ti−1 ) = 2f (ti ) + h2 f ′′ (ti ) + f (η1 ) + f (4) (η2 )
24
2
En divisant par h , on obtient :
f (ti+1 ) − 2f (ti ) + f (ti−1 ) h2 h (4) i
f ′′ (ti ) = − f (η1 ) + f (4)
(η2 )
h2 24
Or f (4) (η1 ) ⩽ sup |f (4) (x)| et f (4) (η2 ) ⩽ sup |f (4) (x), on en déduit que
x∈[a,b] x∈[a,b]
2 Problème de Cauchy
3
Définition 2 (Problème de Cauchy)
On appelle probleme de Cauchy le problème suivant :
(
y ′ (t) = f (t, y(t)), t ∈ I = [t0 , t0 + T ]
(P) :
y(t0 ) = y0 = α0 (condition initiale)
Dans de nombreux exemples physiques, y est souvent une variable spatialle, la variable t représente le
temps, la condition y(t0 ) = α0 est appelée condition initiale et y ′ (t) est la vitesse.
Exemple 1
y 1
y ′ (t) = − + , t ∈ I = [e, 5]
(P ) : t ln(t) ln(t)
y(e) = e.
4
Remarque 1
∂f
Si est continue et bornée sur I × R : il existe M > 0 tel que :
∂y
∂f (t, y)
∀ t ∈ I, ∀ y ∈ R, ⩽ M.
∂y
alors f est lipschitizienne pa rapport à la deuxième variable.
Exemple 2 (
y ′ (t) = 3t2 y(t), t ∈ I = [−2, 2]
(P ) :
y(−2) = 1.
∂f (t, y)
f (t, y) = 3t2 y, = |3t2 | ⩽ 12, ∀ t ∈ I, ∀y ∈ R.
∂y
Donc f est lipschitizienne par rapport à la deuxième variable y.
5
3.2 Schéma d’Euler rétrograde (Schéma implicite)
Z tn+1
On approche f (t, y(t))dt par la méthode de rectangle à droite :
tn
Z tn+1
y(tn+1 ) − y(tn ) = f (t, y(t))dt ≃ hf (tn+1 , y(tn+1 )). (2.3)
tn
Schéma de Heun :
(
y0 = α
(CH) : h
h i
yn+1 = yn + 2 f (tn , yn )) + f tn+1 , yn + hf (tn , yn ) .
Schéma de Heun :
y0 = α
K1 = f (tn , yn )
(CH) : K2 = f (tn+1 , yn + hK1 )
h
y
n+1 = yn + (K1 + K2 ).
2
6
tn+1 +tn
où tn+ 1 = 2 = tn + h2 . Ce qui donne le schéma implicite suivant :
2
h
yn+1 = yn + hf tn + , yn+ 1 (5)
2 2
où yn+ 1 est une approximation de y tn+ 1 = y(tn + h2 ).
2 2
h
Le schéma (5) est implicite,
on utilise une
préduction d’Euler progressive de pas 2 en ramplaçont dans
yn+ 1 dans le membre f tn + h2 , yn+ 1 par yen+ 1 = yn + h2 f (tn , yn ). On obtient le schéma de point
2 2 2
milieu progressif :
Schéma de point milieu progressif :
yn+1 = yn + hf tn + h2 , yn + h2 f (tn , yn ) , n = 0, 1, · · · N − 1,
(
(P M ) :
y0 = α.
Exercice 2 Faire trois itérations avec h = 0.1 des méthodes d’Euler explicite et du point milieu pour
le problème de Cauchy :
y ′ (t) = t sin(y(t)), t ∈ [0, 1],
y(0) = 2.
1. Méthode d’Euler :
yn+1 = yn + hf (tn , yn ), n = 0, 1, · · · N − 1,
(EP ) :
y = 2.
0
y1 = y0 + hK2 = 2.004546487
7
(b) Deuxième itération
t1 = 0.1, K1 = f (t1 , y1 ) = 0.090739603,
K2 = f t1 + h2 , y1 + h2 K1 = 0.135821987,
y2 = y1 + hK2 = 2.018128686
(c) troisième itération
K1 = f (t2 , y2 ) = 0.2 sin(y2 ) = 0.180320846, K2 = 0.224416910, y3 = 2.040570377
4.1 Consistance
4.2 Stabilité
Soient yn , 0 ⩽ n < N et zn , 0 ⩽ n < N les solutions respectives des systèmes :
( (
yn+1 = yn + hΦ(tn , yn , h), zn+1 = zn + hΦ(tn , zn , h) + En ,
et
y0 fixé. z0 fixé.
La méthode est dite théoriquement stable s’il existe une constante M > 0 indépendante de h telle que :
h N
X −1 i
max |yn − zn | ⩽ M |y0 − z0 | + En
0⩽n<N
n=0
8
Remarque 2 Cette notion de stabilité théorique signifie qu’une petite perturbation sur les données du
schéma (y0 , Φ) n’entraine qu’une petite perturbation sur la solution et ceci indépendamment de h.
Exemple : Si f est L-lipschitizienne par rapport à la deuxième variable, alors le schéma d’Euler
progressif est stable (Φ(t, y, h) = f (t, y)).
4.3 Convergence
Définition 4 On dit que la méthode (Pa ) est convergente si pour toute solution exacte y, de (Pc ) la
suite (yn ) de (Pa ) vérifie :
lim max |y(tn ) − yn | = 0.
h→0 0⩽n⩽N
Théorème 5.1 (Condition nécessaire et suffisante pour que la méthode soit d’ordre p)
∂Φ ∂pΦ
On suppose que f est de classe C p sur [t0 , t0 + T ] × R et que les fonctions Φ, ,··· ,
∂h ∂hp
existent et sont continues sur [0, T ] × R × [0, 1]. Alors la méthode à un pas est d’ordre p, si pour tout
t ∈ [0, T ] et y ∈ R
Φ(t, y, 0) = f (t, y)
∂Φ(t, y, 0) 1 [1]
= f (t, y)
∂h 2
.. ..
. .
∂ p−1 Φ(t, y, 0) 1 [p−1]
= f (t, y)
∂hp−1 p
p
∂ Φ(t, y, 0) 1
̸= f [p] (t, y)
∂hp
p+1
où
∂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
9
On vérifie sans difficulté par récurrence que, si y est solution de y ′ (t) = f (t, y(t)), on a
f [k] (t, y(t)) = y (k+1) (t)
Application
Faire trois itérations avec h = 0, 1 de la méthode de Runge-Kutta d’ordre 4 pour l’ équation différentielle
suivante :
y ′ (t) = t sin(y(t)) et y(0) = 2
K1 = f (tn , yn )
h h
K 2 = f tn + 2 , yn + 2 K 1
K3 = f tn + h , yn + h K2
2 2
Méthode de RK4 :
K4 = f (tn + h,h yn + hK3 )
i
h
yn+1 = y n + 6 K 1 + 2K 2 + 2K3 + K 4
y0 = 2.
10
On a : h = 0.1, t0 = 0, y0 = 2 et f (tn , yn ) = tn sin(yn ).
2
|1 − βh| < 1 ⇐⇒ −1 < 1 − βh < 1 ⇐⇒ 0 < βh < 2 ⇐⇒ 0 < h <
β
le schéma d’Euler progressif est A-stable ssi h < β2 ·
2. Déterminer l’expression de explicite de (yn )n∈N par le schéma d’Euler rétrograde (implicite ).Ce
schéma est-il A-stable ?
Réponse : Le schéma d’Euler rétrograde (implicite ) :
1
yn+1 = yn + hf (tn+1 , yn+1 ) = yn + h(−β)yn+1 =⇒ (1 + hβ)yn+1 = yn =⇒ yn+1 = yn
1 + hβ
n
1 1
(yn ) est une suite géométrique de raison =⇒ yn = y0
1 + hβ 1 + hβ
1
Remarquons que 0 < 1+hβ < 1, donc pour tout h > 0, lim yn = 0.
n→+∞
Donc le schéma d’Euler implicite est inconditionnellement A-stable.
11