Vous êtes sur la page 1sur 53

On commence !

(EDO) (EDO) (EDO) (EDO)


Mthodes Numriques
Problmes Pratiques
2
Rsolution d'quations
diffrentielles
1. METHODES NUMERIQUES
POUR LA RESOLUTION
DES EQUATIONS DIFFERENTIELLES ORDINAIRES (EDO)
1
ere
anne
3
1 anne
2. METHODES NUMERIQUES
POUR LA RESOLUTION
DES EQUATIONS AUX DERIVEES PARTIELLES (EDP)
2
me
anne
Mini Projet not
OBJECTIFS
de la partie EQUATIONS DIFFERENTIELLES ORDINAIRES
Avoir une vue densemble des mthodes basiques et courantes de
rsolution des EDO
Identifier les problmes classiques rencontrs lors de telles
rsolutions
4
Connatre un outil de rsolution (intgrateur ou solveur)
Savoir appliquer une mthodologie de rsolution dun systme EDO
INTRODUCTION : Quest quune EDO ?
EDO : quation(s) dcrivant lvolution dun systme fonction dune
seule variable indpendante, par exemple :
- le temps : systme temporel
- une coordonne de lespace : systme 1-D
EDP : quation(s) dcrivant lvolution dun systme fonction de
quations avec
des drives
ordinaires
5
EDP : quation(s) dcrivant lvolution dun systme fonction de
plusieurs variables indpendantes, par exemple :
- 2 : le temps et une coordonne de lespace : systme temporel 1-D
- 2 : deux coordonnes de lespace : systme 2-D
- 3 : systme 3-D
etc .
quations avec
des drives
partielles
EXEMPLE 1: Raction chimique dans un racteur
k1 k3
A + B C + D E
k2
dC
Bilan matire:
6
dC
A
k C C k C C
B D 1 A 2 C dt
dC
B
k C C k C C
B D 1 A 2 C dt
dC
n m C
k C C k C C k C C
B D 1 A 2 C 3 dt
D C
dC
n m D
k C C k C C k C C
B D 1 A 2 C 3 dt
D C
dC
n m E
k C C
3 dt
D C
= +
= +
=
=
=
PLAN
I. INTRODUCTION - RAPPELS
I.1 Ordre et non linarit
I.2 Problmes valeur initiale et aux limites
I.3 Forme Canonique
II. METHODES A UN PAS (CONSTANT)
7
II.1 Mthode dEuler explicite
II.2 Mthode d Heun
II.3 Mthodes de Runge- Kutta
III. METHODE A UN PAS (VARIABLE)
III.1 Principe
III.2 ode23 et ode45
CLASSIFICATION DES EDO:
Ordre :
kx
2
)
dx
dy
b(
2
dx
y
2
d
a
3
dx
y
3
d
kx
dx
dy
y
2
dx
y
2
d
kx y
dx
dy
= + +
= +
= +
1er ordre
2nd ordre
3eme ordre
8
dx 2
dx
3
dx
3eme ordre
Linaire / Non-linaire :
kx
2
)
dx
dy
b(
2
dx
y
2
d
a
3
dx
y
3
d
kx
dx
dy
y
2
dx
y
2
d
kx y
dx
dy
= + +
= +
= +
Linaire
Non-linaire
Non-linaire
Pour avoir une solution unique dun systme
de n EDO dordre 1
il faut spcifier n valeurs des variables
dpendantes
m n C
dC
D
C
C
C
2
k
B
C
A
C
1
k
dt
B
dC
D
C
C
C
2
k
B
C
A
C
1
k
dt
A
dC
+ =
+ =
Exemple:
9
m
D
C
n
C
C
3
k
dt
E
dC
m
D
C
n
C
C
3
k
D
C
C
C
2
k
B
C
A
C
1
k
dt
D
dC
m
D
C
n
C
C
3
k
D
C
C
C
2
k
B
C
A
C
1
k
dt
C
dC
=
=
=
Pour rsoudre ce systme et esprer trouver la solution unique qui
correspond mon problme, je dois connatre une valeur de C
A
, C
B
, C
C
,
C
D
et C
E
Problme valeur initiale / Problme valeur aux limites :
Problme valeur initiale :
Les valeurs des variables dpendantes ou de leurs drives sont toutes
connues la valeur initiale de la valeur indpendante
10
Problme valeur aux limites :
Les valeurs des variables dpendantes ou de leurs drives sont connues
en plusieurs valeurs de la variable indpendante
FORME CANONIQUE DUNE EDO :
x) , (
dx
d
y f
y
=

=
=
=
x) ,
n
y ,...,
2
y ,
1
(y
n
f
dx
n
dy
x) ,
n
y ,...,
2
y ,
1
(y
2
f
dx
2
dy
x) ,
n
y ,...,
2
y ,
1
(y
1
f
dx
1
dy
...
Systme :

=
1,0
y )
0
(x
1
y
Conditions initiales :
11
0
y y = )
0
(x
(x) F y=

=
=
=
n,0
y )
0
(x
n
y
2,0
y )
0
(x
2
y
1,0
y )
0
(x
1
y
...

=
=
=
(x)
n
F
n
y
(x)
2
F
2
y
(x)
1
F
1
y
...
Solutions :
TRANSFORMATION VERS UNE FORME CANONIQUE :
Exemple : x) ,
1 - n
dx
z
1 - n
d
,...,
2
dx
z
2
d
,
dx
dz
G(z,
n
dx
z
n
d
=
On pose :

= =
=
y
1
dy
dz
1
y z

=
dy
2
y
dx
1
dy
soit :
12

=
=

= =
= =
dx
n
dy
n
dx
z
n
d
n
y
dx
1 n
dy
1 n
dx
z
1 n
d
3
y
dx
2
dy
2
dx
z
2
d
2
y
dx
1
dy
dx
dz
...

=
=
x) ,
n
y ,...,
2
y ,
1
G(y
dx
n
dy
3
y
dx
2
dy
2
dx
...
Exemple : Mettre sous forme canonique lquation suivante
0 5z
dx
dz
x
dx
z d
x
dx
z d
2
2
2
3
3
3
= + +
d
dz
y
1
y
1
y z
= =
=
dx
d
2
y
1
y
=
13
1
dx
d
dx
d
dx
z d
dx
d
dx
z d
dx
d
dx
dz
4
y
x
4
y
3
y
3
3
3
y
2
y
2
2
2
y
1
y
=
=
= =
= =
= 1
dx
d
5
dx
d
dx
d
dx
4
y
1
y
2
y
2
4
y
3
y
3
4
y
3
y
3
y
2
y
2
=
=
=
+
Cadre de ce cours
Rsolution dun systme dEDO non linaires (problme valeurs initiales)
t) , (
dt
d
y f
y
=
0
y y = )
0
(t
A partir de
maintenant,
La variable
indpendante est t
14

+ =
t
0
t
,y)d f
0
y y(t) (
Notations :
y(t) ou y(t
j
) : solution exacte
y
j
: solution numrique
e
j
= y
j
- y(t
j
) : erreur
indpendante est t
PLAN
I. INTRODUCTION - RAPPELS
I.1 Ordre et non linarit
I.2 Problmes valeur initiale et aux limites
I.3 Forme Canonique
II. METHODES A UN PAS (CONSTANT)
15
II.1 Mthode dEuler explicite
II.2 Mthode dHeun
II.3 Mthodes de Runge-Kutta
III. METHODE A UN PAS (VARIABLE)
III.1 Principe
III.2 ode23 et ode45
METHODE A UN PAS (CONSTANT)
METHODES dEULER (ou mthode de la tangente)
f(y,t)
dt
dy
=
0
y )
0
y(t =
Le problme une quation est :
(t) R
)
0
(t
(n)
y
n
0
t t
...
)
0
(t y 2
t t ) (t y t t ) y(t y(t) +

+ +

+

+ =
|
|
|

|
| | | |
Dveloppement de Taylor :
16
(t)
n
R
n!
)
0
(t y
0
t t
...
2!
)
0
(t y 2
0
t t )
0
(t y
0
t t )
0
y(t y(t) +

+ +

+

+ =
|
|

\
|
|

\
|
|
|

\
|
)
0
,y
0
)f(t
0
t (t )
0
y(t y(t) +
Soit en sarrtant lordre 1:
On peut crire :
avec h = t
n+1
- t
n
)
n
,y
n
hf(t
n
y
1 n
y + =
+
)
n
,y
n
hf(t
n
y
1 n
y + =
+
METHODES dEULER EXPLICITE
17
2y t
dt
dy
=
|
|

\
|

+ =
2t
5e 1 2t
4
1
y
Exemple :
Intgration avec Euler de avec y(0)=1
Solution exacte est :
j t
j
Euler Solution Erreur Euler Erreur
h=0.2 Exacte h=0.2 h=0.1 h=0.1
18
h=0.2 Exacte h=0.2 h=0.1 h=0.1
0 0.0 1.0 1.0 0 1.0 0.0
1 0.2 0.6 0.6879 -0.0879 0.6500 -0.0379
2 0.4 0.4 0.5117 -0.1117 0.4620 -0.0497
3 0.6 0.32 0.4265 -0.1065 0.3777 -0.0488
Plus h plus erreur
METHODE dHEUN: principe
1
hk
j
y
j
y*
)
j
,y
j
f(t
1
k
+

=

=
1
1 1
Calcul du point y*
j
par Euler explicite
Calcul de la pente en (t , y* )
) ,y* f(t k =
19
Calcul final de y
j
: moyenne entre k1
et k2
2
2
k
1
k
h
j
y
j
y
+
+

=
1
Calcul de la pente en (t
j
, y*
j
)
)
j
,y*
j
f(t
2
k =
m
k
m
w ...
3
k
3
w
2
k
2
w
1
k
1
w
j
y
j
y
avec
+ + + + +

=
1
Formule gnrique
METHODES de RUNGE-KUTTA: principe
Mthode de Heun fait la moyenne entre 2 pentes ; les mthodes de
Runge-Kutta font la moyenne de m pentes
20
)
1 m
k
1) m(m
a ...
2
k
m2
a
1
k
m1
a
j
h,y
m
c
j
f(t
m
k
...
)
2
k
32
a
1
k
31
a
j
h,y
3
c
j
f(t
3
k
)
1
k
21
a
j
h,y
2
c
j
f(t
2
k
)
j
,y
j
f(t
1
k

+ + + +

=
+ +

=
+

=

=
1 1
1 1
1 1
1 1
Lordre de la mthode (m) dpend de lordre du dveloppement de
La srie de Taylor correspondante .
Exemple : Runge-Kutta ordre 2
)
1
k
21
a
j
h,y
2
c
j
f(t
2
k
)
j
,y
j
f(t
1
k
2
k
2
w
1
k
1
w
j
y
j
y
avec
+

=

=
+ +

=
1 1
1 1
1
21
Les termes w
1
, w
2
, c
2
et a
21
sont choisis par identification avec
les termes du dveloppement de Taylor a lordre 2. On trouve:
w
1
+ w
2
= 1
w
2
c
2
=
w
2
a
21
=
Soient 4 inconnues pour 3 quations , on doit en fixer une !
Ce choix est fait pour minimiser lerreur , ici c
2
= 1
)
1
hk
1 j
h,y
1 j
f(t
2
k
)
1 j
,y
1 j
f(t
1
k
2
k
1
k
2
h
1 j
y
j
y
avec
+

=

=
+ +

=
|
|

\
|
On obtient :
22
Cest la mthode dHeun !
Runge-Kutta dordre 4
)
1 j
,y
1 j
f(t
1
k
4
k
6
1
3
k
3
1
2
k
3
1
1
k
6
1
h
1 j
y
j
y
avec

=
+ + + +

=
|
|
|

\
|
23
)
3
hk
1 j
h,y
1 j
f(t
4
k
)
2
k
2
h
1 j
,y
2
h
1 j
f(t
3
k
)
1
k
2
h
1 j
,y
2
h
1 j
f(t
2
k
)
1 j
,y
1 j
f(t
1
k
+

=
+

=
+

=

=
Comparaison des mthodes dEuler, Heun et RK4
y
dt
dy
=
t
e y

=
Exemple :
Intgration de avec y(0)=1
Solution exacte est :
h EulerErreur HeunErreur RK4Erreur
0.2 4.02e-2 (31) 2.86e-3 (57) 5.80e-6 (129)
24
0.2 4.02e-2 (31) 2.86e-3 (57) 5.80e-6 (129)
0.1 1.92e-2 (61) 6.62e-4 (112) 3.33e-7 (254)
0.05 9.39e-3 (121) 1.59e-4 (222) 2.00e-8 (504)
0.025 4.65e-3 (481) 3.90e-5 (442) 1.22e-9 (1004)
0.0125 2.31e-3 (961) 9.67e-6 (882) 7.56e-11 (2004)
CONCLUSION : METHODE A UN PAS (CONSTANT)
3 mthodes : Euler, Heun, Runge-Kutta 4
prcision dpend de lordre
Euler : ordre 1
Heun : ordre 2
Runge-Kutta : ordre 4
25
Runge-Kutta : ordre 4
Cependant utilisation dordre suprieur nest
pas trs intressant
pour amliorer la prcision : rduire le pas h
comment fait un gophisicien pour intgrer
sur une priode d1 milliard dannes avec un
pas dune micro seconde ..
PLAN
I. INTRODUCTION - RAPPELS
I.1 Ordre et non linarit
I.2 Problmes valeur initiale et aux limites
I.2 Forme Canonique
II. METHODES A UN PAS (CONSTANT)
26
II.1 Mthode dEuler explicite
II.2 Mthode dHeun
II.3 Mthodes de Runge-Kutta
III. METHODE A UN PAS (VARIABLE)
III.1 Principe
III.2 ode23 et ode45
METHODE A UN PAS (VARIABLE)
PRINCIPE
Ide : trouver une mthode numrique qui va ajuster le pas
dintgration h au cours de la rsolution comment ?
Moyen : pour cela il faut estimer lerreur commise chaque
pas dintgration
27
Moyen : pour cela il faut estimer lerreur commise chaque
pas dintgration
Si lerreur est trop grande (par rapport un critre fix)
alors h est rduit
Si lerreur est petite (par rapport au critre fix) alors on
peut permettre daugmenter h pour aller plus vite
METHODE A UN PAS (VARIABLE)
PRINCIPE
Solution 1 :
calculer une solution un point donn avec 2 valeurs de h
diffrentes
si le rsultat est le mme alors on conserve la valeur
grande de h pour le pas suivant
si le rsultat est diffrent, on suppose que le meilleur
28
si le rsultat est diffrent, on suppose que le meilleur
rsultat est obtenu avec la petite valeur de h quon
conserve pour le pas suivant
Solution 2 :
Utiliser deux mthodes en parallle avec le mme pas h
mais avec des ordres diffrents!
Exemple : Mthode de Runge-Kutta-Fehlberg 45
METHODE A UN PAS (VARIABLE)
PRINCIPE
Calcul y
j
avec Runge-Kutta ordre 4 (avec h)
29
Calcul y
j
avec Runge-Kutta ordre 4 (avec h)
Calcul y
j
* avec Runge-Kutta ordre 5 (avec h)
Calcul
j
= y
j
- y
j
*
Si
j
< tolrance fixe alors on accepte y
j
Si
j
<< tolrance fixe alors on accepte y
j
et on augmente h
Si
j
> tolrance fixe alors on recommence avec h plus petit
Problme :
comme cest la mthode numrique qui choisit le pas dintgration, on
na pas la solution aux temps dsirs !
Il est alors ncessaire dinterpoler les rsultats
30
ode23 et ode45 sont des solveurs implants dans matlab
ode23 : Mthode de Runge-Kutta-Fehlberg 23
utilisation des mthodes de Runge-Kutta dordres 2 et 3
ode45 : Mthode de Runge-Kutta-Fehlberg 45
ODE23 et ODE45
31
utilisation des mthodes de Runge-Kutta dordres 4 et 5
[t,Y]=ode45 (modele,tfin,y0)
modele est le nom du fichier *.m (funtion matlab) o est dfini le
systme dEDO rsoudre
tfin est la valeur finale de la variable indpendante (temps final si
cest le temps) ; par dfaut, la valeur initiale est prise gale 0, si ce
nest pas le cas alors :
Utilisation dODE45
32
[t,Y]=ode45 (modele, [t0 tfin],y0)
y0 est un vecteur des conditions initiales
Y est une matrice qui contient le rsultat de lintgration; chaque
colonne correspond une variable et chaque ligne correspond une
valeur de la variable indpendante (vecteur t)
Le pas dintgration na pas besoin dtre fourni !!!
Le pas dintgration est ajust pour que :
< max (RelTol * |y
j
| , AbsTol)
Utilisation dODE45
est une estimation de lerreur locale produite par la mthode numrique
RelTol et AbsTol sont respectivement des tolrances relatives et absolues
fournies par lutilisateur (par dfaut 1e
-3
et 1e
-6
)
33
y
j
est la valeur calcule de la variable au j
me
pas de temps
Exemple : si y
j
= 100 alors max(1e
-3
* 100 , 1e
-6
) = 1e
-1
si y
j
= 1e
-5
alors max(1e
-3
* 1e
-5
, 1e
-6
) = 1e
-6
Utilisation dODE45
y
dt
dy
=
Exemple :
Intgration de entre 0 et 1 avec y(0)=1
tfin=1;
y0=1;
[t,y]=ode45(exemple,tfin,y0);
plot(t,y)
34
plot(t,y)
Dans exemple.m :
function dydt=exemple(t,y)
dydt=-y;
Options=odeset(paramtre1,valeur1, paramtre2,valeur2,)
[t,Y]=ode45 (modele,tfin,y0, options)
Les paramtres sont nombreux , par exemple:
RelTol : tolrance relative
AbsTol : tolrance absolue
Utilisation dODE45
Modification des paramtres de la mthode
35
AbsTol : tolrance absolue
MaxStep : pas maximal autoris
InitialStep : pas initial
Etc .
Travaux Dirigs (1)
Soit l'quation diffrentielle
y'(t)=y(t)+t , y(0)=1
36
1. Approcher la solution de cette quation en t=1
l'aide de la mthode d'Euler en subdivisant
l'intervalle de travail en 10 parties gales.
2. Trouver la solution exacte de cette quation
diffrentielle.
3. Comparer.
Travaux Dirigs (2)
Soit l'quation diffrentielle y(t)=y(t)-2(t/y),
y(0)=1
1. Approcher la solution de cette quation en t=0.2
l'aide de la mthode de Runge Kutta d'ordre 2,
37
l'aide de la mthode de Runge Kutta d'ordre 2,
avec un pas h=0.22.
Trouver la solution exacte de cette quation
diffrentielle.
3. Comparer.
Travaux Dirigs(3)
Soit l'quation diffrentielle du second ordre
{y(t)+2y(t)=2y(t) , t[a, b] y(a)=1 et y(a)=2
38

1. Ecrire cette quation diffrentielle sous forme


d'un systme diffrentiel de deux quations
diffrentielles d'ordre 1.
2. Appliquer la mthode de Runge Kutta d'ordre 2
ce systme.
Travaux Dirigs (4)
Soit l'quation diffrentielle du second ordre
{y(t)-q(t) y(t)=f(t) , t[a, b] y(a)= et y(b)=
o q et f sont continues sur [a, b] et q(x)0 pour tout x[a, b]. (Ces
hypothses assurent l'existence et l'unicit de la solution.)
1. Montrer que si y est quatre fois continument drivable dans [a, b]
alors y(x)=(1/(h))[y(x+h)-2y(x)+y(x-h)]+((h)/(12))y()
avec ]x-h, x+h[.2.On subdivise [a, b] en N+1 intervalles de
39

avec ]x-h, x+h[.2.On subdivise [a, b] en N+1 intervalles de


longueur h=((b-a)/(N+1)) et on pose x_{i}=a+ih, i=0,.....,N+1, on
appelle y_{i} une approximation de y(x_{i}) et on remplace
y(x_{i}) par (1/(h))[y_{i+1}-2y_{i}+y_{i-1}].
Ecrire le systme d'quations linaires ainsi obtenu. On appelle A la
matrice de ce systme.
3. Montrer que A=L+hQ o L est une matrice tridiagonale et Q une
matrice diagonale, donner L et Q.
Travaux Dirigs (5)
Soit l'quation diffrentielle du second ordre
{y(t)+3sin(y(t))=2y(t) , t[a, b] y(a)=1 et
y(a)=2
1. Ecrire cette quation diffrentielle sous forme d'un
systme diffrentiel de deux quations
40
systme diffrentiel de deux quations
diffrentielles d'ordre 1.
2. Appliquer la mthode de Runge Kutta d'ordre 2
ce systme.
3. Appliquer la mthode de Runge Kutta d'ordre 4
ce systme.
Travaux Dirigs (6)
Soit le problme de Cauchy suivant:
1. Montrer que f(t, y(t) est lipshitzienne par rapport y uniformment
par rapport t, et donner une constante de Lipschitz.
2. Montrer que ce problme admet une solution unique.
3. Donner la solution exacte de (1), ainsi que y(0.2).

[ ]
'( ) ( , ( )) 2 ( ), 0,1
(0) 1
t
y t f t y t e y t t
y

= =

41
3. Donner la solution exacte de (1), ainsi que y(0.2).
4. Appliquer la mthode d'Euler ce problme, crire l'algorithme
correspondant et donner l'approximation y de y(0.2) obtenue l'aide
d'un pas de discrtisation numrique h=0.1.
5. Rappeler l'erreur de la mthode d'Euler et la comparer l'erreur
commise sur le calcul de y(0.2); commentaires?.
METHODE A PAS LIES
PRINCIPE
Les mthodes un pas (fixe ou variable) consistaient calculer y
j

partir de la valeur value prcdemment en y
j-1
Le principe des mthodes pas lis consiste valuer y
j
partir de
plusieurs valeurs y
j-1
, y
j-2
, y
j-3
y
j-k
42
Mthode un pas :
Mthode pas lis :

=
j
t
k j
t
t)dt y f
k j
y
j
y , (
Avec les mthodes pas lis, f(y,t) va tre valu avec un
polynme dinterpolation
( ,
1
1
t
j
y y f y t ) d t
j j
t
j
= +

Rappel sur lInterpolation Polynomiale


Principe :
on cherche un polynme (de degr k) P
k
(t) sur un ensemble de points
(t
j
, f(t
j
), pour j = 0, ., k , donc k+1 points)
P
k
(t) doit vrifier :
k j
j
t
k
P
j
t f ... , 0 ), ( ) ( = =
43
t
f
METHODE A PAS LIES
METHODE OUVERTE
Principe :
on utilise les k+1 dernires valeurs de f pour construire un polynme
de degr k (f
n
, f
n-1
, f
n-2
, f
n-k+1
)
on utilise ce polynme pour en dduire la valeur de f en n+1
44
Problme : on utilise un polynme dinterpolation pour extrapoler .
) (
1
n
y hf
n
y
n
y + =
+
|
|

\
|

+ =
+
)
1
(
2
1
) (
2
3
1 n
y f
n
y f h
n
y
n
y
Mthodes dAdams Bashforth ( pas fixe):
k=1
k=2
45
|

\
+ 1
2 2
1 n
n n
n
|
|

\
|

+ =
+
)
2
(
12
5
)
1
(
12
16
) (
12
23
1 n
y f
n
y f
n
y f h
n
y
n
y
|
|

\
|

+ =
+
)
3
(
24
9
)
2
(
24
37
)
1
(
24
59
) (
24
55
1 n
y f
n
y f
n
y f
n
y f h
n
y
n
y
k=2
k=3
k=4
METHODE A PAS LIES
METHODE FERMEE
Principe :
on utilise cette fois-ci le point quon cherche (t
n+1
, f
n+1
) dans la
dtermination du polynme dinterpolation de degr k+1 (f
n+1
, f
n
, f
n-1
,
f
n-2
, , f
n-k+1
)
46
Problme : mthode implicite donc rsolution lourde
chaque itration .
)
1
(
1 +
+ =
+ n
y hf
n
y
n
y
|
|

\
|
+
+
+ =
+
) (
2
1
)
1
(
2
1
1
n
y f
n
y f h
n
y
n
y
|
|

+
+
+ =
+
) (
1
) (
8
) (
5
n
y f
n
y f
n
y f h
n
y
n
y
Mthodes dAdams Moulton ( pas fixe):
k=0
k=1
k=2
47
|
|

\

+
+
+ =
+
)
1
(
12
1
) (
12
8
)
1
(
12
5
1 n
y f
n
y f
n
y f h
n
y
n
y
|
|

\
|

+
+
+ =
+
)
2
(
24
1
)
1
(
24
5
) (
24
19
)
1
(
24
9
1 n
y f
n
y f
n
y f
n
y f h
n
y
n
y
k=2
k=3
METHODE A PAS LIES
METHODE PREDICTEUR-CORRECTEUR
Principe :
Utiliser les avantages des mthodes ouverte et ferme
tape 1: phase de prdiction
on prdit une valeur de par une mthode ouverte
tape 2: phase dvaluation
1

+ n
y

= Y t f f
48
tape 2: phase dvaluation
tape 3: phase de correction
on corrige la valeur de par une mthode ferme pour
trouver en utilisant
1

+ n
y
)
1

,
1
(
1

+ +
=
+ n
Y
n
t f
n
f
1 + n
y
1

+ n
f
METHODE A PAS LIES
METHODE PREDICTEUR-CORRECTEUR
Amliorations:
1. Phase de correction peut tre rpte plusieurs fois
2. Approximation de lerreur commise
49
2. Approximation de lerreur commise
mthode pas variable .
mthode ordre du polynme dinterpolation variable
METHODE A PAS LIES
METHODE PREDICTEUR-CORRECTEUR
Inconvnient Majeur:
Mthode non auto dmarrante !
Par exemple:
50
Par exemple:
Comment calcule-t-on y
1
, y
2
et y
3
?
on doit utiliser une mthode un pas !
|
|

\
|

+ =
+
)
3
(
24
9
)
2
(
24
37
)
1
(
24
59
) (
24
55
1 n
y f
n
y f
n
y f
n
y f h
n
y
n
y
METHODE PREDICTEUR-CORRECTEUR
EXEMPLE DE PRINCIPE
juste pour voir
cas o les polynmes dinterpolation sont dordre 1
Mthode ouverte dordre 1 : )
n
,y
n
hf(t
n
y
1 n
y + =
+
51
Mthode ferme dordre 1 : )
1 n
,y
1 n
hf(t
n
y
1 n
y
+ +
+ =
+
Cest Euler !!!
Cest
Euler implicite
on progresse du point n au point n+1 en utilisant la valeur
de la drive en n+1 (pas encore connue ! )
La mthode est implicite en ce sens quon doit rsoudre un
systme dquations algbriques
Mthode prdicteur-correcteur dordre 1 (appele Euler modifi):
)
prdit 1 n
,y
1 n
hf(t
n
y
corrig 1 n
y
)
n
,y
n
hf(t
n
y
prdit 1 n
y
, ,
,
+ +
+ =
+
+ =
+
52
Une valeur de y
n+1
est prdite par un Euler explicite
Cette valeur prdite est ensuite corrige par un Euler implicite.
La rsolution est alors explicite.
Lquation de correction peut tre envisage plusieurs fois .
ode113 solveur de type prdicteur-correcteur implant
dans matlab
ode113 : Mthode de Adams Bashforth Moulton
pas h variable
ordre de polynme variable (entre 1 et 13)
ODE113
[t,Y]=ode45 (modele,tfin,y0)
53
[t,Y]=ode45 (modele,tfin,y0)
modele est le nom du fichier *.m (funtion matlab) o est dfini le
systme dEDO rsoudre
tfin est la valeur finale de la variable indpendante (temps final si
cest le temps)
y0 est un vecteur des conditions initiales
Y est une matrice qui contient le rsultat de lintgration; chaque
colonne correspond une variable et chaque ligne correspond un
valeur de la variable indpendante (vecteur t)

Vous aimerez peut-être aussi