Vous êtes sur la page 1sur 18

Chapitre 8 Calcul numérique des équations différentielles ordinaires(I)

__________________________________________________________________________________________

CHAPITRE 8
CALCUL NUMERIQUE DES EQUATIONS
DIFFERENTIELLES ORDINAIRES (I)

8.1 DEFINITIONS
• Equation différentielle : c’est une relation entre une variable t, une fonction inconnue
(n)
y(t), et certaines de ces dérivées : F ( t , y , y' , y" ,... y ) = 0.
• Ordre d’une équation différentielle : est égale au maximum de l’ordre des dérivées qui
y figurent.
• Forme résolue ou explicite d’une équation différentielle : c’est la forme qui donne la
(k ) ( k −1 )
dérivée d’ordre le plus élevé en fonction des autres : y = f ( t , y , y' , y" ,... y ).
• Système différentiel : c’est l’ensemble de p relations entre la variable t, p fonctions
inconnues de cette variable, et certaines de leurs dérivées :

 F ( t , y , y ' , y" , z , z ' , z " ) = 0


Exemple :  deux relations de deux fonctions de y et z.
G ( t , y , y' , y" , z , z' , z" ) = 0
• Ordre d’un système différentiel : est égale à la somme des ordres maximum k i des

dérivées des p fonctions indépendantes fi .

8.2 PROBLEME DE CAUCHY POUR LES EQUATIONS DIFFERENTIELLES


ORDINAIRES
8.2.1 Théorie élémentaire des problèmes de Cauchy : (condition initiale)
Définition 1 : Une fonction f(t,y) est dite Lipschitzienne en y sur D⊂ R2 s’il existe une

constante L > 0 telle que : f ( t , y1 ) − f ( t , y 2 ) ≤ L y1 − y 2 ∀ ( t , y1 ) et ( t , y 2 ) ∈ D

La constante L est appelée la constante de Lipschitz pour la fonction f.

Exemple 1 :

{ }
La fonction f ( t , y ) = t y , avec (t , y ) ∈ D = (t , y ) ∈ R 2 / 1 ≤ t ≤ 2, − 3 ≤ y ≤ 4 est Lipchitzienne.
En effet,

____________________________________________________________________________________________________________ 163
Chapitre 8 Calcul numérique des équations différentielles ordinaires(I)
__________________________________________________________________________________________

f ( t , y1 ) − f ( t , y 2 ) = t y1 − t y 2 = t y 1 − y 2

≤ t y1 − y 2 ≤ 2 y1 − y 2

Définition 2 : Un ensemble D ⊂ R2 est dit convexe si quels que soient les couples : ( t1 , y 1 ) et
( t 2 , y 2 ) ∈ D , le couple : (( 1 − λ )t 1 + λt 2 , ( 1 − λ ) y1 + λy 2 ) appartient aussi à D quel que
soit λ∈ [0,1].

Théorème 1 : Soit f ( t , y ) une fonction définie sur un convexe D⊂ R2. S’il existe une
∂f ( t , y )
constante L > 0 telle que : ≤ L ∀ (t, y ) ∈ D
∂y
alors f est Lipschitzienne en y sur D, et L est la constante de Lipschitz.

Définition 3 : Le problème donné de la manière suivante :


Existe-t-il une fonction y(t) définie sur [a,b] à valeur dans R, qui soit dérivable sur
[a,b], et qui vérifie:

 y( a ) = α
(I ) 
 y' ( t ) = dy / dt = f ( t , y ( t )) , t ∈ [ a,b ]

est appelé problème de Cauchy ou problème de condition initiale.

{
Théorème 2 : Soit f ( t , y ) une fonction continue sur D = (t , y ) ∈ R 2 / a ≤ t ≤ b, − ∞ ≤ y ≤ +∞ }
Si f est Lipchitzienne en y sur D, alors le problème de Cauchy (I) possède une solution unique
y(t).

Exemple 2 : Considérons le problème suivant :

 y( 0 ) = 0
 y' ( t ) = dy / dt = 1 + t sin( ty ) ,
 t ∈ [ 0 ,2 ]

possède une solution unique. En effet, d’après le théorème de la valeur moyenne, il existe ζ
compris entre y1 et y2 tel que :

f ( t , y 2 ) − f ( t , y1 ) ∂f ( t , ξ ) 2
= = t cos( tξ )
y2 − y1 ∂y

2
f ( t , y 2 ) − f ( t , y1 ) = ( y 2 − y1 )t cos( tξ ) ⇒ f ( t , y ) − f ( t , y ) < 4 y 2 − y1
2 1
⇒ f est Lipchitzienne en y. Et puisqu’elle est continue sur D, il existe donc une solution
unique.

____________________________________________________________________________________________________________ 164
Chapitre 8 Calcul numérique des équations différentielles ordinaires(I)
__________________________________________________________________________________________

8.2.2 Méthode D’Euler


Dans ce qui suit nous essayons de développer des méthodes numériques pour trouver une
solution approchée de la solution exacte du problème de Cauchy précédent. Commençons par
le développement de la méthode d’Euler qui est la plus simple et la moins utilisée. Pour faire

ceci, considérons une partition : {t0, t1, ...,tN} de [a,b] telle que : t i = a + ih , i = 0 ,..., N , où

h = ( b − a ) / N . Supposons que la solution exacte y(t) ait deux dérivées continues sur [a,b].

Alors d’après la formule de Taylor on a :


2
y i +1 = y ( t i +1 ) = y ( t i + h ) = y i + hy' i +θ ( h )
2
y i +1 = y i + hf ( t i , y i ) + θ ( h ) , i = 0 ,..., N − 1 (1)

Lorsque h est suffisamment petit, θ (h2) est aussi petit. En négligeant ce terme et en posant :

wi ≈ y i , i = 0 ,..., N − 1 , l’équation (1) devient :

wi +1 = wi + hf ( t i , wi ) , i = 0 ,..., N − 1 et w0 = y0 = α

Interprétation géométrique :
Sur le petit intervalle [to, to + h] on suppose que la courbe y(t) n’est pas très éloignée de sa
tangente en (to , y(to)) et par conséquent la solution y au point t1 est proche de l’ordonnée w1 du
point d’intersection de la parallèle passant par t1 à l’axe des ordonnées avec cette tangente.
Pour obtenir une approximation de y(t2) , on suppose que y’(t1) ≈ f(t1 , w1) et que sur [t1 , t2],
y(t) n’est pas très éloignée de sa tangente approchée en t1 . Donc cette méthode consiste à
remplacer y(t) par une ligne brisée (voir figure ci-dessous).

Lemme 1 : f(t)
Quel que soit l’entier positif m, on a:
0 ≤ (1 + x) m ≤ e mx , ∀ x ≥ −1
y (t1 ) ≈ w1
α = y (t 0 )
Démonstration:
On a : e x = 1 + x + ( x 2 / 2)e ξ , où ξ est to t1 tN
Figure : 1
compris entre 0 et x, alors :
0 ≤ 1 + x ≤ 1 + x + ( x 2 / 2) e ξ = e x

0 ≤ 1 + x ≤ e x ⇒ 0 ≤ (1 + x ) ≤ e mx
m

____________________________________________________________________________________________________________ 165
Chapitre 8 Calcul numérique des équations différentielles ordinaires(I)
__________________________________________________________________________________________

Lemme 2 :
Si m et n sont deux nombres réels positifs et {ai }i =inf une suite telle que : a 0 ≥ 0 et
k

a i +1 ≤ (1 + m)ai + n pour chaque i= 0,1 , . . . ,k-1. Alors :

a i +1 ≤ e (i +1) m (n / m + a 0 ) + n / m

Démonstration:
On a :
a i +1 ≤ (1 + m)a i + n ≤ (1 + m)((1 + m)ai −1 + n ) + n

a i +1 ≤ (1 + m)a i + n ≤ (1 + m) 2 a i −1 + (1 + m)n + n

a i +1 ≤ (1 + m)ai + n ≤ (1 + m) 2 ((1 + m)ai − 2 + n ) + (1 + m)n + n

(
a i +1 ≤ (1 + m)a i + n ≤ (1 + m) 3 a i − 2 + (1 + m) 2 + (1 + m) + 1 n )
.
.
.

(
a i +1 ≤ (1 + m)ai + n ≤ (1 + m) i +1 a 0 + (1 + m) i + (1 + m) i −1 + L + 1 n )
i −1 1 − (1 + m) i +1
Or: (1 + m) + (1 + m)
i
+ L + (1 + m) + 1 =
1 − (1 + m)
Donc :
1 − (1 + m) i +1
ai +1 ≤ (1 + m) i +1 a 0 + n
1 − (1 + m)
a i +1 ≤ (1 + m) i +1 (a 0 + n / m) − n / m
a i +1 ≤ (a 0 + n / m)e m (i +1) − n / m

Théorème 3 :
soit y(t) la solution unique du problème de Cauchy suivant :

 y( a ) = α
 y' ( t ) = dy / dt =
 f ( t , y ( t )) , t ∈ [ a,b ]

Et soient w0 , w1 , ... , wn les approximations de y(t) aux points t0 , t1 , ... , tn engendrées par la
méthode d’Euler. Si f est Lipchitzienne en y sur D = {(t , y ) / t ∈ [a, b]; − ∞ < y < +∞} et

y" (t ) ≤ M , t ∈ [a, b] . Alors :

hM L (ti −a )
y (t i ) − wi ≤ (e − 1) , i = 1,2, ..., n
2L

____________________________________________________________________________________________________________ 166
Chapitre 8 Calcul numérique des équations différentielles ordinaires(I)
__________________________________________________________________________________________

Démonstration :
Si i=0, le résultat est trivial. Et on a pour chaque i = 0,1,. ..., n-1 :
y (t i + 1) = y i +1 = y i + hf (t i , y i ) + (h 2 / 2) y" (t i + θ i h) , 0 < θ i < 1 (1)

Et wi +1 = wi + hf (t i , wi ) (2)
En retranchant l’équation (2) de l’équation (1) , nous obtenons :
yi +1 − wi +1 = ( yi − wi ) + h( f (t i , y i ) − f (t i , wi ) ) + (h 2 / 2) y" (t i + θ i h)

yi +1 − wi +1 = ( y i − wi ) + h( f (t i , y i ) − f (t i , wi ) ) + (h 2 / 2) y" (t i + θ i h)

yi +1 − wi +1 ≤ y i − wi + h ( f (t i , y i ) − f (t i , wi ) ) + (h 2 / 2) y" (t i + θ i h)

y i +1 − wi +1 ≤ y i − wi + hL y i − wi + h 2 M / 2

yi +1 − wi +1 ≤ (1 + hL) y i − wi + h 2 M / 2

D’après le lemme cité précédemment, cette dernière inégalité peut s’écrire:


y i +1 − wi +1 ≤ e ( i +1) hL ( y 0 − w0 + h 2 M / 2hL) − h 2 M / 2hL

yi +1 − wi +1 ≤ e (i +1) hL (hM / 2 L) − hM / 2 L

Or: (i + 1)h = t i +1 − t 0 = t i +1 − a

Donc : (
yi +1 − wi +1 ≤ (hM / 2 L) e ( ti +1 −a ) L − 1 )

Exemple 4 :
Soit le problème de condition initiale suivant :
 y ' (t ) = − y + t + 1 t ∈ [0, 1]

 y ( 0) = 1
On a : f (t , y ) = − y + t + 1 , ∂f / ∂y = −1 ⇒ L = 1

On sait que la solution exacte de ce problème est : y (t ) = t + e −t y(t). Donc :

y" (t ) = e −t ⇒ y" (t ) ≤ 1 , ∀ t ∈ [0,1]

yi − wi ≤ 0.5(e ti − 1)

Remarque: L’importance de la formule donnant une borne de l’erreur du théorème 3 est que
cette borne dépend linéairement du pas h. Donc réduire le pas h revient à augmenter la
précision. Cependant on doit s’attendre aux erreurs d’arrondi. Une valeur optimale de h est :
(2δ /M)1/2 où δ est l’erreur dans la condition initiale.

____________________________________________________________________________________________________________ 167
Chapitre 8 Calcul numérique des équations différentielles ordinaires(I)
__________________________________________________________________________________________

8.2.3. Méthode d’Euler modifiée


Définition 4 :
a) Le nombre ei = y i − wi est appelé : l’erreur au point t i .

b) Une méthode de calcul numérique fournissant les valeurs approchées wi de y i telles que:

ei ≤ kh p est dite d’ordre p.

D’après cette définition et le théorème 3, la méthode d’Euler est du premier ordre. Dans ce
paragraphe, on essayera de développer une méthode d’ordre supérieur à celui de la méthode
d’Euler.
On a d’après la formule de Taylor:
yi +1 = y i + hy i' + (h 2 / 2) y i" + θ (h 3 ) , i = 0, 1, L , N − 1 (1)

or yi" = ( y i' +1 − y i' ) / h + θ (h)

Portons l’expression de y i" dans l’équation (1) , nous obtenons:

( )
yi +1 = y i + hy i' + (h 2 / 2) ( y i' +1 − y i' ) / h + θ (h) + θ (h 3 )

yi +1 = y i + (h / 2)( y i' +1 + y i' ) + θ (h 3 ), i = 0, 1, L , N − 1

( )
yi +1 = y i + (h / 2) f (t i , y i ) + f (t i +1 , y i +1 ) + θ (h 3 ), i = 0, 1, L , N − 1 (2)

En négligeant θ(h3) et en posant wi ≈ yi , l’équation (2) nous donne:


(
wi +1 = wi + (h / 2) f (t i , wi ) + f (t i +1 , wi +1 ) , ) i = 0, 1, L , N − 1 (3)

avec w0 = y 0 = α
Cette formule est appelée formule d’Euler modifiée.
Remarquons que cette formule ne donne pas wi+1 explicitement. Pour surmonter ce problème,
on estime (prédit) wi+1 par la méthode d’Euler. Appelons cette valeur estimée: wi+1,P . Cette
valeur peut être utilisée dans l’équation (3) pour obtenir une estimation meilleur de wi+1 . La
méthode d’Euler modifiée consiste donc à:
1) Prédire wi+1 par la méthode d’Euler: wi +1, p = wi + hf (t i , wi ) .

[
2) Corriger wi+1,p par: wi +1,c = wi + (h / 2) f (t i , wi ) + f (t i +1 , wi +1, p ) ]
8.2.4. Méthode de Taylor d’Ordre Supérieur à Un
Considérant le problème de Cauchy suivant:

 y( a ) = α
( I )
 y' ( t ) = dy / dt = f ( t , y ( t )) , t ∈ [ a,b ]

____________________________________________________________________________________________________________ 168
Chapitre 8 Calcul numérique des équations différentielles ordinaires(I)
__________________________________________________________________________________________

Dans la pratique on utilise rarement une méthode d’ordre 1. Pour obtenir des résultats
acceptables dans la pratique, on doit en général, utiliser des méthode d’ordre plus élevé que 1.
Développons donc celles-ci.
Supposons que la solution y(t) du problème (I) possède n+1 dérivées continues, alors d’après
la formule de Taylor on a:
yi +1 = y i + hy i' + (h 2 / 2) y i" + L + (h n / n!) y i( n ) + (h n +1 /(n + 1)!) y i( n +1) (t i + θ i h) (1)

Où : 0 < θi < 1

Or : y ' (t ) = f (t , y ) ⇒ y i' = y ' (t i ) = f (t i , y i )

y" (t ) = f ' (t , y ) ⇒ y i" = y" (t i ) = f ' (t i , y i )


.
.
.
( n −1) ( n −1)
y ( n ) (t ) = f (t , y ) ⇒ y i( n ) = y ( n ) (t i ) = f (t i , y i )
Portons ces expressions dans l’équation (1) , nous obtenons:
yi +1 = y i + hf (t i , yi ) + (h 2 / 2) f ' (t i , y i ) + L + (h n / n!) f ( n −1)
(t i , y i ) + θ (h n +1 )

En négligeant θ(hn+1) et en posant wi ≈ yi, on obtient :


wi +1 = wi + h( f (t i , wi ) + (h / 2) f ' (t i , wi ) + L + (h n −1 / n!) f ( n −1)
(t i , wi ) ) (2)
En posant :
T ( n ) = f (t i , wi ) + (h / 2) f ' (t i , wi ) + L + (h n −1 / n!) f ( n −1)
(t i , wi )
l’équation (2) devient :
wi +1 = wi + hT ( n ) (t i , wi ), i = 0, 1, L , n − 1

avec w0 = y 0 = α

Donc la solution y(t) du problème ( I ) aux points : t i = a + ih, (i = 0,1, L , n − 1) , est


approximativement donnée par :
w0 = y 0 = y (a ) = α

wi +1 = wi + hT (t i , wi ), i = 0, 1, L , n − 1
(n)

Exemple 5 :
soit le problème de Cauchy suivant :
 y ' (t ) = t − y + 1, t ∈ [0,1]

 y (0) = 1, h = 0 .1

Trouver les valeurs approchées de y (t i ) pour : i = 0,1, L , n , par :

____________________________________________________________________________________________________________ 169
Chapitre 8 Calcul numérique des équations différentielles ordinaires(I)
__________________________________________________________________________________________

1/ La méthode d’Euler .
2/ La méthode d’Euler modifiée .
3/ La méthode de Taylor 2.

Solution :
1/ Par la méthode d’Euler :
On a :
wi +1 = wi + hf (t i , wi ) , pour i = 0,1, L , n − 1 = 9

w0 = 1

wi +1 = wi + h(t i − wi + 1) = (1 − h) wi + ht i + h = 0.9 wi + 0.01i + 0.1


Finalement , on peut écrire :
wi +1 = 0.9wi + 0.01i + 0.1, i = 0,1,L, n − 1 = 9

w0 = 1
2/ Par la méthode d’Euler modifiée :
On a:
w0 = 1

wi +1,c = wi + (h / 2)( f (t i , wi ) + f (t i +1 , wi +1, p ) ) où wi +1, p = wi + hf (t i , wi )

wi +1,c = wi + (h / 2)((1 − h)t i − (2 − h) wi + t i + (h − h) + 2 )

wi +1,c = wi + (h / 2)((1 − h)t i − (2 − h) wi + t i + 2 )

wi +1,c = (1 − (0.1 / 2)(1.9) )wi + (0.1 / 2)(1.9t i ) + 0.1


En fin, on obtient que :
wi +1,c = 0.905wi + 0.095t i + 0.1 , pour : i = 0,1, L , n − 1 = 9

3/ Par la méthode de Taylor d’ordre 2 :


On a: w0 = 1

et wi +1 = wi + hT ( 2 ) (t i , wi ), i = 0, 1, L , n − 1 = 9 ,

où : T ( 2) = f (t i , wi ) + (h / 2) f ' (t i , wi )

Or : f ' (t , y ) = 1 − y ' (t ) = 1 − t + y (t ) − 1 = −t + y (t )

f ' (t i , wi ) = −t i + wi

wi +1 = wi + h(t i − wi + 1 + h(−t i + wi ) ) = wi + h((1 − h)(t i − wi ) + 1)

wi +1 = 0.905wi + 0.905t i + 0.1, i = 0,1, L , n − 1 = 9

____________________________________________________________________________________________________________ 170
Chapitre 8 Calcul numérique des équations différentielles ordinaires(I)
__________________________________________________________________________________________

Voici les valeurs de wi , i = 0,1, L , n − 1 = 9 , obtenues par les 3 méthodes:


Euler, Euler modifiée, et Taylor d’ordre 2.
ti Euler ( wi ) Euler modifiée ( wi ) Taylor 2 ( wi ) Solution Exacte ( wi )
0.0 1.000000 1.000000 1.000000 1.000000
0.1 1.000000 1.005000 1.005000 1.004837
0.2 1.010000 1.019025 1.019025 1.018731
0.3 1.029000 1.041218 1.041218 1.040818
0.4 1.056100 1.070802 1.070802 1.070320
0.5 1.090490 1.107076 1.107076 1.106531
0.6 1.131441 1.149404 1.149404 1.148812
0.7 1.178297 1.197211 1.197211 1.196586
0.8 1.230467 1.249976 1.249976 1.249328
0.9 1.287420 1.307228 1.307228 1.306570

8.2.5 Méthodes de Runge – Kutta


En pratique les méthodes de Taylor sont rarement utilisées car elles demandent le calcul des
dérivées de f (t , y ) et leurs valeurs aux points (t i , wi ) . Les méthodes de Runge - Kutta ont
presque le même degré de précision que celles de Taylor, sauf qu’elles ne demandent pas la
détermination des dérivées de f .
Dans ce qui suit nous allons développer les méthodes de Runge - Kutta d’ordre 2. En ce qui
concerne les autres méthodes de R-K d’ordre supérieur à 2, nous donnons seulement
l’algorithme de Runge - Kutta d’ordre 4.
Le principe de la méthode de R-K d’ordre 2 consiste à remplacer :
T ( 2) = f (t i , wi ) + (h / 2) f ' (t i , wi )

par : a1 f (t + α 1 , y + β 1 ) ,
où : a1 , α 1 et β 1 : sont des constantes à déterminer.
Celles-ci doivent être choisies de telle sorte que: T ( 2) (t , y ) − a1 f (t + α 1 , y + β 1 ) soit de l’ordre

de h 2 .

∂f ( t , y ) ∂f ( t , y )
On a: f ' (t, y ) = + . y' ( t )
∂t ∂y

et y ' (t ) = f (t , y )

h  ∂f (t , y ) ∂f (t , y ) 
Donc T ( 2) (t , y ) s’écrit : T ( 2 ) (t , y ) = f (t , y ) +  + . f (t , y )  (1)
2  ∂t ∂y 
D’après la formule de Taylor appliquée à la fonction f (t , y ) , on a:
∂f (t , y ) ∂f (t , y )
f (t + α 1 , y + β 1 ) = f (t , y ) + α 1 + β1 + R 2 (t + α 1 , y + β 1 ) (2)
∂t ∂y

____________________________________________________________________________________________________________ 171
Chapitre 8 Calcul numérique des équations différentielles ordinaires(I)
__________________________________________________________________________________________

α 12 ∂ 2 f (ξ , η ) β 12 ∂ 2 f (ξ , η ) ∂ 2 f (ξ ,η )
Où : R 2 (t + α 1 , y + β 1 ) = + + α1 β1
2 ∂t 2 2 ∂y 2 ∂t∂y

(ξ , η ) : appartient au cercle de centre (t , y ) et de rayon: ((t − α )1


2
+ ( y − β1 ) 2 )
1/ 2
.
Multiplions les deux membres de l’équation (2) par la constante a1, nous obtenons alors:
∂f (t , y ) ∂f (t , y )
a1 f (t + α 1 , y + β 1 ) = a1 f (t , y ) + a1α 1 + a1 β 1 + a1 R2 (3)
∂t ∂y

En égalant les équations (1) et (3) ,on obtient par identification :


a1 = 1 , a1α 1 = h / 2 et a1 β 1 = (h / 2) f (t , y ) ⇒ α 1 = h / 2 et β 1 = (h / 2) f (t , y )
Donc :
T ( 2) (t , y ) = f (t + h / 2, y + (h / 2) f (t , y )) − R2 (t + h / 2, y + (h / 2) f (t , y ))
Si toutes les dérivées partielles d’ordre 2 sont bornées, R2 (t + h / 2, y + (h / 2) f (t , y )) sera de

l’ordre de h 2 . En posant :
T ( 2) (t i , wi ) = f (t i + h / 2, wi + (h / 2) f (t i , wi )) ,
on peut écrire à l’aide de la méthode de Taylor d’ordre 2 :
wi +1 = wi + hf (t i + h / 2, wi + (h / 2) f (t i , wi )), i = 0, 1, L , n − 1

w0 = α
La méthode ainsi construite est appelée méthode de R-K d’ordre 2. Plus précisément, elle est
appelée méthode du milieu.

De la même manière, on peut obtenir d’autres méthodes d’ordre 3, si T (3) T(3) est remplacé
par: a1 f (t , y ) + a 2 f (t + α 2 , y + δ 2 f (t , y ))

où : T (3) = f (t i , wi ) + (h / 2) f ' (t i , wi ) + (h 2 / 6) f " (t i , wi )

Voici d’autres méthodes de R-K d’ordre 2 :

Méthode d’Euler modifiée (déjà développée, dans ce chapitre)

(
wi +1 = wi + (h / 2) f (t i , wi ) + f (t i +1 , wi + hf (t i , wi )) , ) i = 0, 1, L , n − 1

w0 = y 0 = α

Méthode de Heun

(
wi +1 = wi + (h / 4) f (t i , wi ) + 3 f (t i + 2h / 3, wi + (2h / 3) f (t i , wi )) , ) i = 0, 1, L , n − 1

w0 = y 0 = α

____________________________________________________________________________________________________________ 172
Chapitre 8 Calcul numérique des équations différentielles ordinaires(I)
__________________________________________________________________________________________

8.2.6. Méthode de Runge-Kutta d’ordre 4


Pour obtenir une approximation de la solution exacte y(t) du problème de Cauchy:
 y ' (t ) = f (t , y ) t ∈ [a, b ]
 ,
 y (a) = α
en utilisant la méthode de R-K d’ordre 4, on procède de la manière suivante:
• Posant : h = (b − a ) / n , avec : t 0 = a , w0 = α et n un entier positif choisi.

• Calculant les constantes k1 , k 2 , k 3 et k 4 :

k1 = hf (t i , wi )

k 2 = hf (t i + h / 2, wi + k1 / 2)

k 3 = hf (t i + h / 2, wi + k 2 / 2)

k 4 = hf (t i +1 , wi + k 3 )

• La solution y(t) du problème de Cauchy est donnée approximativement par :


wi +1 = wi + (k1 + 2k 2 + 2k 3 + k 4 ) / 6

avec : t i +1 = a + (i + 1)h

8.2.7. Méthode à Multi-pas


Les méthodes de R-K qu’on vient de développer sont des méthode à un pas. C’est à dire pour
trouver l’approximation wi +1 de y au point t i +1 , elle n’utilisent que l’approximation wi de y au

point t i . Elles n’exploitent, donc, pas les approximations de y aux points: t i −1 , t i − 2 , ..., t 0 . En
pratique, les méthodes de R-K sont utilisées pour déterminer les premières approximations de
y. Celles-ci introduisent les méthodes à multi-pas qui sont l’objet de ce paragraphe. Le
principe de ces méthodes consiste à remplacer f (t , y ) = y ' (t ) par un polynôme P (t ) , en

utilisant les approximations de y : wi , wi −1 , ..., w0 , déjà calculées.


Considérons le problème de Cauchy suivant:
 y ' (t ) = f (t , y ) t ∈ [a, b ]

 y (a) = α
y i +1 t i +1
On a: y ' (t ) = f (t , y ) ⇒ ∫ dy ( t ) = ∫ f ( t , y ( t )) dt
yi yi

t i +1 t i +1
⇒ yi +1 − yi = ∫ f ( t , y ( t )) dt ⇒ yi +1 = yi + ∫ f (t , y ( t ))dt (1)
ti ti

____________________________________________________________________________________________________________ 173
Chapitre 8 Calcul numérique des équations différentielles ordinaires(I)
__________________________________________________________________________________________

t i +1
Puisqu’on ne peut pas intégrer ∫ f (t , y (t )) dt
yi
sans connaître y(t) solution du problème (I),

remplaçons f (t , y (t )) par un polynôme d’interpolation P(t) passant par les points:

{(t 0 , f (t 0 , y 0 )), (t1 , f (t1 , y1 )),L , (t i , f (t i , yi ))}. Dans ce cas y i +1 est approximativement
t i +1

donnée par yi + ∫ P(t )dt .


ti

A titre d’exemple développons la méthode à 2 pas d’Adams-Bashforth. Pour faire ceci,


remplaçons f (t , y (t )) par un polynôme de Lagrange de degré 1 passant par les deux points:

{(t i −1 , f (t i −1 , yi −1 )) et (t i , f (t i , yi ))}. Soit:


t − ti t − t i −1
P1 (t ) = f (t i −1 , y i −1 ) + f (t i , y i )
t i −1 − t i t i − t i −1
t − ti t − t i −1
P1 (t ) = − f (t i −1 , y i −1 ) + f (t i , y i )
h h
Donc :
f (t , y (t )) = P1 (t ) + 0.5(t − t i −1 )(t − t i ) f " (ξ i +1 , y (ξ i +1 ))

Où : ξ i : est compris entre t i −1 et t i .


En portant l’expression de f (t , y (t )) dans l’équation (1), on obtient:
ti +1 1 ti +1
y i +1 = y i + ∫ P1 (t ) dt + ∫ (t − t i −1 )(t − t i ) f " (ξ i +1 , y (ξ i +1 ))dt
ti 2 ti

f (t i −1 , y i −1 ) ti +1 f (t i , y i ) ti +1 1 ti +1
y i +1 = y i − ∫ ( t − t i ) dt + ∫ ( t − t i −1 ) dt + ∫ f " (ξ i +1 , y (ξ i +1 ))(t − t i −1 )(t − t i ) dt
h ti h ti 2 ti

h 3h 1 ti +1
y i +1 = y i − f (t i −1 , y i −1 ) + f (t i , y i ) + ∫ f " (ξ i +1 , y (ξ i +1 ))(t − t i −1 )(t − t i ) dt (2)
2 2 2 ti

Puisque (t − t i −1 )(t − t i ) ne change pas de signe sur [t i , t i +1 ] , alors d’après le théorème de la

valeur moyenne pour les intégrales, il existe un nombre µ i +1 ∈ [t i , t i +1 ] tel que:


ti +1 ti +1
∫ f " ( ξ i +1 , y ( ξ i +1 ))( t − t i −1 )( t − t i ) dt = f " ( µ i +1 , y ( µ i +1 )) ∫ ( t − t i −1 )( t − t i ) dt
ti ti
ti +1 5 3
∫ f " ( ξ i +1 , y ( ξ i +1 ))( t − t i −1 )( t − t i ) dt = h f " ( µ i +1 , y ( µ i +1 ))
ti 6
ti +1 5 3
∫ f " ( ξ i +1 , y ( ξ i +1 ))( t − t i −1 )( t − t i ) dt = h y' " ( µ i +1 )
ti 6
En portant cette expression dans (2). on obtient:

____________________________________________________________________________________________________________ 174
Chapitre 8 Calcul numérique des équations différentielles ordinaires(I)
__________________________________________________________________________________________

yi +1 = y i + (3h / 2) f (t i , y i ) − (h / 2) f (t i −1 , y i −1 ) + (5h 3 / 12) y" ' ( µ i +1 )

En négligeant le terme contenant h 3 et en posant wi ≈ yi , on obtient:


wi +1 = wi + (3h / 2) f (t i , wi ) − (h / 2) f (t i −1 , wi −1 )

Sachant que wo = α , w1 = α1 : sont déterminées par l’une des méthodes déjà développées.
Cette méthode est appelée méthode à 2 pas d’Adams-Bashforth.

Remarque: On peut trouver des formules d’Adams-Bashforth d’ordre supérieur. Pour faire
ceci, il suffit d’augmenter le degré du polynôme P(t). Par exemple la méthode suivante:
 1 5 
wi +1 = wi + h f (t i , wi ) − ( f (t i , wi ) − f (t i −1 , wi −1 ) + ( f (t i , wi ) − 2 f (t i −1 , wi −1 ) + 5 f (t i − 2 , wi − 2 ))) 
 2 12 
Ou encore:

wi +1 = wi +
h
(23 f (t i , wi ) − 16 f (t i −1 , wi −1 ) + 5 f (t i − 2 , wi − 2 ) )
12
est obtenue en remplaçant f(t , y(t)) par un polynôme P(t) de degré 2. L’erreur est de l’ordre
de h4.

Dans ce qui suit, nous allons donner deux autres méthodes à Multi-pas appelées Milne et
Adams-Moulton . Ces deux méthodes appartiennent à la classe des méthodes qui consistent à
1) Prédire y i +1
2) Corriger la valeur prédite.
• La méthode de Milne est simple et donne une erreur de l’ordre de θ(h5). Cependant elle est
instable.
• La méthode d’Adams-Moulton est aussi efficiente que la méthode de Milne sauf qu’elle
est stable.

• La méthode de Milne consiste à:


1) Prédire wi +1 par la formule:

wi +1, p = wi −3 +
4h
(2 f (t i −2 , wi − 2 ) − f (t i −1 , wi −1 ) + 2 f (t i , wi ) )
3
2) Corriger wi +1, p par la formule:

wi +1,c = wi −1 +
h
( f (t i+1 , wi +1, p ) + 4 f (t i , wi ) + f (t i −1 , wi−1 ))
3

• La méthode d’Adams-Moulton consiste à:


1) Prédire wi +1 par la formule

____________________________________________________________________________________________________________ 175
Chapitre 8 Calcul numérique des équations différentielles ordinaires(I)
__________________________________________________________________________________________

wi +1, p = wi +
h
(55 f (t i , wi ) − 59 f (t i −1 , wi −1 ) + 37 f (t i − 2 , wi −2 ) − 9 f (t i −3 , wi −3 ) )
24
2) Corriger wi +1, p par la formule:

wi +1,c = wi +
h
(9 f (t i+1 , wi +1, p ) + 19 f (t i , wi ) − 5 f (t i−1 , wi−1 ) + f (t i −2 , wi −2 ))
24

8.2.8. Equations Différentielles d’ordre supérieur à 1 et Systèmes d’équations


différentielles
Considérons le problème suivante:
 y ( m ) (t ) = f (t , y, y ' , L , y ( m −1) ) t ∈ [a, b]
(I) 
 y (a ) = α 1 , y ' (a ) = α 2 , L , y ( m −1)
(a ) = α m ,

L’équation différentielle d’ordre m du problème (I) peut être transformée en un système de m


équations différentielles d’ordre 1. En effet posons: u1 (t ) = y (t ) , u 2 (t ) = y ' (t ) , …,

u m (t ) = y ( m −1) (t ) , nous obtenons le système suivant:

 du1
 dt = u 2
 du
 2 = u3
 dt
(II)  .
 .
 du
 m = f (t , y, y ' , L , y ( m −1) )
 dt
u1 (a ) = y (a ) = α 1 , u 2 (a ) = y ' (a ) = α 2 , L , u m (a ) = y ( m−1) (a ) = α m

Les méthodes de résolution des équations différentielles d’ordre 1:Euler, Euler modifié,
Runge-Kutta, etc. peuvent être généralisées pour résoudre le problème (II). Par exemple pour
appliquer la méthode de R-K d’ordre 4 à un système d’équations différentielles, nous
procédons de la manière suivante :
Soit wij une approximation de la ieme composant de la solution du système (II) au point t j ,

pour i = 1, 2, L , m et j = 0, 1, 2, L , N , où N = (b − a ) / h , t j = a + jh .

Les conditions initiales sont données par:


w1, 0 = α 1 , w2, 0 = α 2 , L , wm, 0 = α m ,

Supposons que : w1, j , w2, j , L , wm , j , viennent d’être calculées , alors pour déterminer

w1, j +1 , w2, j +1 , L , wm, j +1 nous devons premièrement calculer :

____________________________________________________________________________________________________________ 176
Chapitre 8 Calcul numérique des équations différentielles ordinaires(I)
__________________________________________________________________________________________

k1,i = hf i (t j , w1, j , w2, j , L , wm , j ) , i = 1, 2, L , m

k 2,i = hf i (t j + h / 2, w1, j + k1,1 / 2, w2, j + k1, 2 / 2, L , wm , j + k1, m / 2) , i = 1, 2, L , m

k 3,i = hf i (t j + h / 2, w1, j + k 2,1 / 2, w2, j + k 2, 2 / 2, L , wm , j + k 2,m / 2) , i = 1, 2, L , m

k 4,i = hf i (t j +1 , w1, j + k 3,1 , w2, j + k 3, 2 , L , wm, j + k 3,m ) , i = 1, 2, L , m

Puis, on détermine :
w i j + 1 = w i j + (k 1,i + 2k 2,i + 2k 3,i + k 4,i )/6 pour i = 1, 2, L , m

Exemple 6 :
Considérons le système des deux équations différentielles d’ordre 1, suivant :
 du1
 dt = u 2 t ∈ [0,1]

 du 2
 = e 2t sin t − 2u1 + 2u 2
 dt
u1 (0) = −0.4, u 2 (0) = −0.6, h = 0 .1


Appliquons la méthode de R - K d’ordre 4 à ce problème .
On a :
w1, 0 = −0.4 w, w2, 0 = −0.6

k1,1 = hf1 (t 0 , w1, 0 , w2, 0 ) = hw2, 0 = −0.06

k1, 2 = hf 2 (t 0 , w1, 0 , w2, 0 ) = h(e 2t0 sin t 0 − 2w1,0 + 2w2,0 ) = −0.04

k 2,1 = hf 1 (t 0 + h / 2, w1,0 + k1,1 / 2, w2, 0 + k1, 2 / 2) = h( w2, 0 + k1, 2 / 2) = −0.062

k 2, 2 = hf 2 (t 0 + h / 2, w1,0 + k1,1 / 2, w2, 0 + k1, 2 / 2) = −0.03247

k 3,1 = hf 1 (t 0 + h / 2, w1, 0 + k 2,1 / 2, w2, 0 + k 2, 2 / 2) = h( w2,0 + k 2, 2 / 2) = 0.0616

k 3, 2 = hf 2 (t 0 + h / 2, w1, 0 + k 2,1 / 2, w2,0 + k 2, 2 / 2) = −0.03152

k 4,1 = hf 1 (t 0 + h, w1, 0 + k 3,1 , w2, 0 + k 3, 2 ) = h( w2, 0 + k 3, 2 ) = −0.06315

k 4, 2 = hf 2 (t 0 + h, w1, 0 + k 3,1 , w2, 0 + k 3, 2 ) = −0.02178

On aura donc :
w 1 1 = w 1 0 + (k 1,1 + 2k 2,1 + 2k 3,1 + k 4,1 )/6 = -0.4617

w 1 2 = w 2 0 + (k 1,2 + 2k 2,2 + 2k 3,2 + k 4,2 )/6 = -0.6316

On procède de la même manière pour calculer w1, j , w2, j ( j = 2, 3, L , N ).

____________________________________________________________________________________________________________ 177
Chapitre 8 Calcul numérique des équations différentielles ordinaires(I)
__________________________________________________________________________________________

Exemple 7 :
En utilisant la méthode d’Euler modifiée, résoudre le problème suivant:
 y1' (t ) = y1 y 2 + t
 '
 y 2 (t ) = ty 2 + y1
 y (0) = 1, y (0) = −1, h = 0.1
 1 2

On a :
w1, p = 1 + 0.1(1(−1) + 0) = 0.9

w2, p = −1 + 0.1(0(−1) + 1) = −0.9

w1,c = 1 + 0.1(−1 + 0.9(−0.9) + 0.1) / 2 = 0.9145

w2,c = −1 + 0.1(1 + 0.1(0.9) + 0.9145) / 2 = −0.9088

Donc la solution approximative de y au point t = 0.1 est w1 (0.1) = 0.9145 , w2 (0.1) = −0.9088 .
On procède de la même manière pour calculer w1 (t i ) , w2 (t i ) ( i = 2, 3, L , N ).

8.3 EXERCICES ET PROBLEME


Exercice 1
Résoudre le problème de Cauchy suivant :

x ∈ [0, 2]
2x
 y ' ( x ) = f ( x, y ) = y ( x ) −
 y ( x)
 y (0) = 1, h = 0 .1

en utilisant les méthodes suivantes :
- Euler, - Taylor, - R-K2, - R-K4.
Sachant que la solution exacte est : y ( x) = (2 x + 1) 0.5 .

Exercice 2
Illustrez la méthode d’Euler la plus simple pour le calcul de la solution de :
 y ' ( x) = f ( x, y ) = − x( y ( x) )1 / 3 x ∈ [1, 2]

 y (1) = 1, h = 0 .1

Appliquez à nouveau la méthode locale des série de Taylor pour retrouver la solution du
présent problème.
Appliquez la méthode de R-K pour retrouver une solution du problème de Cauchy posé.

Exercice 3
Soit le problème de Cauchy suivant :

____________________________________________________________________________________________________________ 178
Chapitre 8 Calcul numérique des équations différentielles ordinaires(I)
__________________________________________________________________________________________

 y ' ( x ) = f ( x, y ) = 2 x + y ( x )

 y (0) = 1, h = 0.25
Trouver la valeur approximative de y (0.5) , par la méthode de Runge-Kutta d’ordre 4.

Exercice 4
Soit le problème de Cauchy suivant :
 2x
 y' = y −
 y
 y ( 0) = 1 h = 0,2

Trouver les valeurs approchées de y (0.2) et y (0.4) , en utilisant les deux méthodes de
Runge-Kutta d’ordre 2 et d’ordre 4. Effectuer les calculs avec quatre décimales exactes.
Estimer les résultats obtenus si la solution exacte est donnée par : y = 2 x + 1 .

Exercice 5
En utilisant la méthode d’Euler modifiée, résoudre le problème de Cauchy suivant :
 y' = sin x + y

 y( 0 ) = 2 , h = 0.1

pour déterminer la valeur de y(0.1).

Exercice 6
Soit le problème de Cauchy suivant :
 dy
 =x +y
3 2

 dx
 y (0) = 0, h = 0 .2

Trouver les trois premières valeurs de y, en utilisant la méthode de Runge-Kutta d’ordre 4


(quatre décimales près.). Puis calculer le reste des valeurs jusqu’à x = 1.4 par la méthode
d’Adams – Moulton.

Exercice 7
Soit le problème de Cauchy suivant :
 dy
 = x + y + xy
 dx
 y (0) = 1, h = 0.025
Trouver la valeur approximative de y(0.1), par la méthode d’Euler modifiée. Retrouver la
valeur de y(0.1), en utilisant la méthode de Runge-Kutta d’ordre 4 avec un pas h =0.1.
Comparer les deux résultats obtenus avec cinq décimales près.

____________________________________________________________________________________________________________ 179
Chapitre 8 Calcul numérique des équations différentielles ordinaires(I)
__________________________________________________________________________________________

8.4 DEVOIR A DOMICILE


Problème A : Soit le problème de Cauchy suivant :

 y( 0 ) = 0.04
 y' ( t ) = dy / dt =
 f ( t , y ( t )) = −50 y + 1 , h =1

Déterminer la valeur de y(1) en utilisant une méthode analytique (solution exacte) puis
l’approchant avec les deux méthodes : Euler et celle d’Euler modifiée. Comparer et
commenter les résultats obtenus. Si les solutions numériques, obtenues, sont très éloignées de
la solution exacte quelle méthode proposer vous pour obtenir un meilleur résultat ? Retrouver
la valeur de y(1) en utilisant la méthode proposée.

Problème B : On considère l’équation de Vander Pol qui consiste en une équation


différentielle du 2ème ordre à coefficients non constants. Elle se rencontre dans les problèmes
de vibrations et sert à décrire la relaxation et les régimes intermédiaires entre celle ci et les
oscillations entretenues.
Il s’agit d’équation comportant un terme d’amortissement négatif (qui provoque une
croissance des oscillations) s’annulant à partir d’une certaine amplitude. (exemple simple :
lampe à néon).
2
y 2
y" −ε ( 1 − ) y' + ω y = 0
y0

Donner une explication physique des différents termes constituant cette dernière équation.
Dans un cas simple :
2
y" −0.1( 1 − y ) y' + y = 0
y( 0 ) = 1 , y' ( 0 ) = 0 , t ∈ [ 0 ,+∞ ]

Déterminer la valeur de y1 en prenant h=0.2.

Problème C : Soit le problème de Cauchy suivant :


 y ' = x + y + xy

 y ( 0) = 1 h = 0,025
Trouver la valeur approximative de y (0.1) , par la méthode d’Euler modifiée.
Retrouver la valeur de y (0.1) , en utilisant la méthode de Runge-Kutta d’ordre 4 avec un pas
h = 0 .1 .
Comparer les deux résultats obtenus avec cinq décimales près.

____________________________________________________________________________________________________________ 180

Vous aimerez peut-être aussi