Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

ANA NUM 2 - Cours Equations Differentielles Ordinaires

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 6

Chapitre 5

Equations di¤erentielles ordinaires

L’objectif de ce chapitre est de chercher à calculer de façon approchée la solution d’un


problème de Cauchy. Il se trouve que très souvent, il est impossible de résoudre ce type
de problème de façon explicite. Il faut alors faire appel à des schémas numériques e¢ caces
permettant d’approcher les solutions explicites. Nous verrons ce que sont les principaux
schémas existants.

5.0.1 Problème de Cauchy


Dé…nition 5.1 Le problème suivant : existe-t-il une fonction y(x) dé…nie sur [a; b] à valeur
dans R qui soit dérivable sur [a; b] et qui véri…e :

y 0 (x) = f (x; y(x)) ; x 2 [a; b] :


(5.1)
y(a) = y0; donnée
ce problème est appelé problème de Cauchy ou problème de Condition initiale.

Théorème 5.1 On suppose que f est continue sur D = f(x; y) =a 6 x 6 b; y 2 Rg : S’il


existe une constante L telle que : jf (x; y1 ) f (x; y2 )j L jy1 y2 j alors le problème (1) ad-
met une solution unique y(x): On dit alors que f est Lipschitzienne par rapport à y et L est
dite la constante de Lipschitz.

Dans ce qui suit, on va développer des méthodes numériques pour trouver une solution
approchée de la solution exacte du problème de Cauchy.

5.0.2 Equations di¤érentielles du premier ordre


La méthode d’Euler
C’est la méthode la plus simple de résolution numérique d’équations di¤érentielles ordi-
naires. Elle possède une belle interprétation géométrique, et son emploi est facile. Toutefois
elle est relativement peu utilisée en raison de sa précision.
Soit à résoudre numériquement le problème :

y 0 (x) = f (x; y(x)) , x 2 [a; b]


y(a) = y0 donnée

88
89

La forme intégrale de ce problème est :

Zb Zb
0
y (s) ds = f (s; y(s)) ds;
a a

alors
Zb
y (b) y (a) = f (s; y(s)) ds;
a

d’où
Zb
y (b) = y (a) + f (s; y(s)) ds;
a

Considérons une subdivisionfx0 ; x1 ; :::xn g de [a, b] avec x0 = a; xi = a + ih;où h = b na


est le pas de la subdivision.
Alors
Z
xi+1 Z
xi+1

y 0 (x) dx = f (x; y(x)) dx;


xi xi

donc
Z
xi+1

y (xi+1 ) = y (xi ) + f (x; y(x)) dx; (5.2)


xi
xR
i+1
il y a plusieurs façon d’approximer f (x; y(x)) dx;
xi

La méthode d’Euler explicite En utilisant la méthode des rectangles à gauche sur


xR
i+1
f (x; y(x)) dx;et en remplaçant dans la formule (5:2); l’algorithme de la méthode d’Euler
xi
explicite est donné par :

yi+1 = yi + hf (xi ; yi ) ; i = 0; 1; :::n 1; avec y0 = :

La méthode d’Euler implicite En utilisant la méthode des rectangles à droite sur


xR
i+1
f (x; y(x)) dx; et en remplaçant dans la formule (5:2); l’algorithme de la méthode d’Euler
xi
explicite est donné par :

yi+1 = yi + hf (xi+1 ; yi+1 ) ; i = 0; 1; :::n 1; avec y0 = :

On notera que dans ce schéma, le terme yi+1 apparaît sur chaque itétation.
90

Théorème 5.2 Soient y (x) la solution unique du problème de Cauchy (5:1) ; et y0 ; y1 ; :::; yn
les approximations de y (x) aux points x0 ; x1 ; :::xn engendrée par la méthode d0 Euler. Si f est
Lipschitzienne en y sur D par rapport à y, alors l’erreur théorique Et est donnée par :
M2 h
Et 6 eL(b a)
1 ;
2L
avec M2 = max j½y (x)j et L est la constante de Lipschitz.
x2[a:b]

La méthode de Runge-Kutta d’ordre 2 : RK2


xR
i+1
En utilisant la méthode des trapèzes sur f (x; y(x)) dx;et en remplaçant dans la for-
xi
mule (5:2);on obtient :
h
yi+1 = yi + [f (xi ; yi ) + f (xi+1 ; yi+1 )] ; i = 0; 1; :::n 1; avec y0 = ; :
2
on remplace yi+1 par l’algoriyhme de la méthode d’Euler explicite
h
yi+1 = yi + [f (xi ; yi ) + f (xi+1 ; yi + hf (xi ; yi )] ; i = 0; 1; :::n 1; avec y0 = ; :
2
or xi+1 = xi + h; donc
h
yi+1 = yi + [f (xi ; yi ) + f (xi + h; yi + hf (xi ; yi )] ; i = 0; 1; :::n 1; avec y0 = ; :
2
en posant K1 = f (xi ; yi ) et K2 = f (xi + h; yi + hK1 ) ; on obtient l’algorithme de la méthode
de Runge-Kutta :
8
< yi+1 = yi + h2 (K1 + K2 )
K1 = f (xi ; yi ) et K2 = f (xi + h; yi + hK1 )
:
y0 donnée.

La méthode de Runge-Kutta d’ordre 4 : RK4


xR
i+1
En utilisant la méthode des Simpson sur f (x; y(x)) dx;et en remplaçant dans la for-
xi
mule (5:2);on obtient l’algorithme de la méthode de Runge-Kutta d’ordre 4 qui est donné
par :
8
>
> yi+1 = yi + h6 (K1 + 2K2 + 2K3 + K4 ) ; i = 0; 1; :::; n 1; où
<
K1 = f (xi ; yi ) , K2 = f xi + h2 ; yi + h2 K1 ;
>
> K3 = f xi + h2 ; yi + h2 K2 et K4 = f (xi + h; yi + hK2 ) :
:
y0 donnée.
91

5.1 Exercices corrigés


y 0 (x) = y + x; x 2 [0; 1]
Exercise 5.1 Soit l’équation di¤érentielle à condition initiale .
y (0) = 1
- Approcher la solution de cette équation en x = 1 à l’aide de la méthode d’Euler en
subdivisant l’intervalle de travail en10 parties égales.
- Comparer à la solution exacte.

Solution 5.1 On pose f (x; y(x)) = y+x:


Remarquons tout d’abord que f étant continue et Lipshitzienne par rapport à y du fait
0
que jf (x; y1 ) f (x; y2 )j = jy1 y2 j ;d où L = 1, le problème de Cauchy admet une solution
unique. Par la méthode d’Euler on a :
8
< yi+1 = yi + hf (xi ; yi )
yi+1 = yi + h (yi + xi ) ;
:
yi+1 = yi (1 + h) + hxi
1 0
où le pas h = 10
= 0:1; x0 = 0; xi = x0 + ih = 0:1i , d’où le tableau suivant :

i 0 1 2 3 4 5 6 7 8 9 10
xi 0 0:1 0:2 0:3 0:4 0:5 0:6 0:7 0:8 0:9 1
yi 1 1:1 1:22 1:362 : : : : : : 3:1874

C’est à dire que l’approximation en x = 1 de y (x) est y (1) = y10 = 3:1874:


solution exacte

y (x) = 1 x + 2ex
donne y (1) =3:4366: Ainsi, l’erreur e¤ectivement commise lors de l’application de la méthode
d’Euler est :

jEe j = j3:4366 3:1874j = 0:25 :

Cherchons l’erreur théorique qui est donnée par :


M2 h
Et 6 eL(b a)
1 :
2L
avec M2 = max j½y (x)j et L = 1 est la constante de Libschitz de f par rapport à y : on
x2[a:b]
a:

y 0 (x) = y + x, donc
y 00 (x) = y 0 + 1; alors
y 00 (x) = 1 + x + y, d’où
y 00 (x) = 1 + x + 1 x + 2e2x
y 00 (x) = 2e2x :
92

Ainsi M2 = 2e:Donc
M2 h
Et 6 eL(b a)
1 ;
2L
2e0:1
Et 6 e1(1 0)
1 ;
2 1
Et 6 0:4673:

Clairement on a, jEe j 6 jEt j, donc la méthode d’Euler donne une bonne approximation de
la solution de ce problème de Cauchy.

Exercise 5.2 Approcher la solution de l’équation di¤érentielle ci-dessous en x1 = 0:2 en


utilisant RK2,avec un pas h = 0:2
2x
y 0 (x) = y (x) y :
y (0) = 1

Solution 5.2 L’intervalle d’intégration est [0; 0:2] et le pas d’inégration est h = 0:2: on pose
f (x; y) = y (x) 2x
y
; l’algorithme de la méthode de RK2 s’écrit comme suit :

yi+1 = yi + h2 (K1 + K2 ) ; avec


K1 = f (xi ; yi ) et K2 = f (xi + h; yi + hK1 )

alors
y1 = y0 + h2 (K1 + K2 ) ; avec
K1 = f (x0 ; y0 ) et K2 = f (x0 + h; y0 + hK1 ) ,
donc K1 = f (0; 1) = 1 et K2 = f (0:2; 1:2) = 0:8666: Ainsi, l’approximation de x = 0:2 de
y (x) est y1 = y0 + h2 (K1 + K2 ) = 1 + 0:2
2
(1 + 0:8666) = 1:18666:

Exercise 5.3 Soit le problème de Cauchy suivant :

t (sin y)2 y 0 = 0; t 2 [0; ]


y (0) = 4

- Montrer que ce problème admet une solution unique.


- Calculer la valeur approchée de y 34 par la méthode d’Euler explicite de temps
constant h = 4 :

Solution 5.3 On pose f (t; y) = t (sin y)2 , il est clair que f est continue sur [0; ] R
il reste à montrer qu’elle est Lipschitzienne par rapport à y,
on a 8t 2 [0; ] ; 8y1; ; y2 2 R;

jf (t; y1 ) f (t; y2 )j = (sin y1 )2 (sin y2 )2 ;


= j(sin y1 ) (sin y2 )j j(sin y1 ) + (sin y2 )j
6 2 j(sin y1 ) (sin y2 )j ;

d’aprés le théorème des accroissements …nis

j(sin y1 ) (sin y2 )j 6 jcos c (y1 y2 )j 6 jy1 y2 j ; y1 6 c 6 y2


93

…nalement,
jf (t; y1 ) f (t; y2 )j 6 2 jy1 y2 j ;
donc f est Lipschitzienne par rapport à y et la constante L = 2;d’où l’unicité de la solution.
La formule d’Euler explicite est donnée par :

yi+1 = yi + hf (ti ; yi ) ; i = 0; 1; :::n 1; avec y0 =


4
h = 4 ; on doit chercher n tel que tn = 34 , on a tn = t0 + nh = 3
4
alors n = 3;c’est à dire
on cherche une approximation de y 34 : On a alors :

y1 = y0 + hf (t0 ; y0 )
= y0 + h t0 (sin y0 )2
=
4 8
= = 0:3927:
8
De même, on calcule y2 et y3

y2 = y1 + hf (t1 ; y1 )
y2 = 08945:

y3 = y2 + hf (t2 ; y2 )
y3 = 1:6505:

Vous aimerez peut-être aussi