Vous êtes sur la page 1sur 39

Introduction la rsolution des E.D.O.

Support de cours
Ingnieurs Sup'Galile
Energtique - 1re anne

a.

Version beta 0.3 du 11 Mars 2011

par Cuvelier Franois


Universit Paris Nord - Institut Galile - LAGA
Av. J.-B. Clment 93430 Villetaneuse
email : cuvelier@math.univ-paris13.fr

Table des matires

1 Introduction
1.1

1.2
1.3
1.4
1.5
1.6
1.7
1.8

Exemples . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1.1 Mtorologie . . . . . . . . . . . . . . . . . . . . . . .
1.1.2 Biologie . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1.3 Chimie : La raction de Belousov-Zhabotinsky . . . . .
1.1.4 Mcanique . . . . . . . . . . . . . . . . . . . . . . . .
Dnition des E.D.O. . . . . . . . . . . . . . . . . . . . . . . .
Formulation gnrale : le problme de Cauchy . . . . . . . . .
Drivation numrique . . . . . . . . . . . . . . . . . . . . . . .
Mthode des dirences nies pour le problme de Cauchy en
dimension d  1 . . . . . . . . . . . . . . . . . . . . . . . . . .
Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Stabilit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Mthode des dirences nies pour le problme de Cauchy en
dimension d . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2 Mthode un pas ou pas spars


2.1
2.2
2.3
2.4
2.5

Schma gnral
Convergence . .
Stabilit . . . .
Consistance . .
Ordre . . . . .

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

3 Mthode de Runge-Kutta
3.1
3.2
3.3

Principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Formules explicites de Runge-Kutta d'ordre 2 . . . . . . . . .
Mthodes de Runge-Kutta d'ordre 4 . . . . . . . . . . . . . .

4 Mthodes pas multiples


4.1
4.2
4.3
4.4
4.5

Exemple : schma de point milieu . . .


Le principe . . . . . . . . . . . . . . .
Mthodes d'Adams-Bashforth . . . . .
Mthodes d'Adams-Moulton . . . . . .
Schma prdicteur-correcteur . . . . .
4.5.1 Principe . . . . . . . . . . . . .
4.5.2 Exemple . . . . . . . . . . . . .
4.5.3 Comparaison avec Runge-Kutta

5 Exercices corrigs

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

3
3
4
5
6
8
10
12
14
15
15
18

19

19
19
19
20
20

20
20
21
22

23

23
23
24
25
25
25
25
26

26

1 INTRODUCTION
1

Introduction

1.1 Exemples
1.1.1 Mtorologie
Modle de Lorentz :

Source Wikipedia

Mathmatiquement, le couplage de l'atmosphre avec


l'ocan est dcrit par le systme d'quations aux drives partielles couples de Navier-Stokes de la mcanique des uides. Ce systme d'quations tait beaucoup trop compliqu rsoudre numriquement pour
les premiers ordinateurs existant au temps de Lorenz. Celui-ci eut donc
l'ide de chercher un modle trs simpli de ces quations pour tudier une situation physique particulire : le phnomne de convection
de Rayleigh-Bnard. Il aboutit alors un systme dynamique direntiel possdant seulement trois degrs de libert, beaucoup plus simple
intgrer numriquement que les quations de dpart.

$ 1
& x ptq
y 1 ptq
% z 1 ptq

 xptq yptq
 xptqyptq xptq  yptq
(1.1)
 xptqyptq  zptq
 8{3 et les donnes initales xp0q  8,

avec  10,  28,


y p0q  8 et z p0q   1.
Dans ces quations, , - respectivement le nombre de Prandtl et le
rapport du nombre de Rayleigh sur un Rayleigh critique - et sont
trois paramtres rels.
xptq est proportionnel l'intensit du mouvement de convection, y ptq
est proportionnel la dirence de temprature entre les courants ascendants et descendants, et z ptq est proportionnel l'cart du prol
de temprature vertical par rapport un prol linaire (Lorenz 1963
p.135).
La rsolution numrique de ce modle donne

1.1 Exemples

1 INTRODUCTION
Modele de Lorentz

x(t)

20
0
20

10

20

30

40

50
t

60

70

80

90

100

10

20

30

40

50
t

60

70

80

90

100

10

20

30

40

50
t

60

70

80

90

100

y(t)

50
0
50

z(t)

40
20
0

Modele de Lorentz

50
45
40
35

z(t)

30
25
20
15

50

10
0

5
0

50

20

15

10

10

15

20

y(t)

x(t)

1.1.2 Biologie
Considrons une population y d'animaux dans un milieu ambient o au
plus B animaux peuvent coexister. On suppose que initialement la population soit y0 B et que le facteur de croissance des animaux soit gal
une constante C. Dans ce cas, l'volution de la population au cours du temps
sera proportionnelle au nombre d'animaux existants, sans toutefois que ce
nombre ne dpasse la limite B. Cela peut s'exprimer travers l'quation

y ptq
1
y ptq  Cy ptq 1 
, t 0, y p0q  y0.
B

(1.2)

La rsolution de cette quation permet de trouver l'volution de la population


au cours du temps.
4

1.1 Exemples

1 INTRODUCTION

On considre maintenant deux populations, y1 et y2 , o y1 sont les proies


et y2 sont les prdateurs. L'volution des deux populations est alors dcrite
par le systme d'quations direntielles

" 1
y1 ptq
y 1 ptq
2

 C1y1ptqr1  b1y1ptq  d2y2ptqs,


 C2y2ptqr1  d1y1ptqs,

(1.3)

o C1 et C2 sont les facteurs de croissance des deux populations, d1 et d2


tiennent compte de l'interaction entre les deux populations, tandis que b1
est li la quantit de nourriture disponible pour la population des proies
y1 . Ce systme d'quations direntielles est connu comme modle de LotkaVolterra.

1.1.3 Chimie : La raction de Belousov-Zhabotinsky


Sous certaines conditions, des ractions chimiques peuvent tre oscillantes. Par exemple, le mlange d'une solution de bromate de potassium
et d'acide sulfurique avec une solution d'acide manolique et de bromure de
sodium peut entrainer une oscillation de la couleur de la solution mlange
du rouge au bleue avec une priode de 7 secondes.
Le modle associ est nomm modle du bruxelator bas sur les quations chimiques :
A
X
p M1 q
2X Y 3X
p M2 q
B X Y C pM3 q
X
D
p M4 q

On note ki , i P v1, 4w les vitesses de rations des quations pMi q. On obtient


alors le systme direntielle suivant :

$ 1
A pt q
'
'
& B 1 pt q
X 1 pt q
'
'
% 1
Y

 k1Aptq
 k3B ptqX ptq
 k1Aptq k2X 2ptqY ptq  k3B ptqX ptq  k4X ptq
ptq  k2X 2ptqY ptq k3B ptqX ptq

Exemple 1 Dans cet exemple, on tudie le problme simpli du Bruxelator. Lorsque les ractions de (??) ont des constantes de ractions k1 , . . . , k4

gales respectivement 1, 0, 1 et 1, et que les concentrations de A et


B sont constantes, repectivement gales 1 et 0, on est alors amen
rsoudre l'E.D.O. @t Ps0, T s,
" 1
X ptq  1 X 2 ptqY ptq  p 1qX ptq
(1.4)
Y 1 ptq  X 2 ptqY ptq X ptq
Par exemple, avec le jeu de donnes  1,  3.5 et les contitions initiales
X p0q  3 et Y p0q  2 on obtient des oscillations :
5

1.1 Exemples

1 INTRODUCTION
Brusselator simplifie Concentrations

6
X(t)
Y(t)
5

10

15

20
t

25

30

35

40

Brusselator simplifie
6

Y(t)

3
X(t)

1.1.4 Mcanique
Le pendule pesant le plus simple est constitu d'un petit objet pesant
accroch une tige de masse ngligeable devant celle de l'objet. L'autre
extrmit de la tige est l'axe de rotation du pendule. Un tel pendule, sans
viscosit, est appel pendule pesant simple. On note ptq l'angle que fait le
6

1.1 Exemples

1 INTRODUCTION

pendule par rapport l'axe vertical, un instant t, L la longueur de la tige,


m sa masse et g l'acclration de la pesanteur. L'quation direntielle est
donne par
g
2 ptq
sinpptqq  0.
(1.5)
L
Si le pendule est soumis un frottement visqueux de coecient , l'expression de l'acclration angulaire devient :

2 pt q

g
sinpptqq
L

1
ptq  0.
mL2

(1.6)

Exemple 2 Dans cet exemple, on tudie le problme du pendule pesant sans


viscosit dcrit au paragraphe 1.1.4. On est donc ramen rsoudre l'E.D.O.
2 ptq

g
sinpptqq  0,
L

@t Ps0, T s,

(1.7)

avec les conditions initiales


"
p0q  0 , position angulaire initiale,
1 p0q  0 , vitesse angulaire initiale,
Par exemple, avec le jeu de donnes
et 01  0 on obtient

(1.8)

 3 et les conditions initiales 0  56

g
L

Pendule pesant valeur angulaire


3
2

(t)

1
0
1
2
3

10
t

12

14

16

18

20

14

16

18

20

Pendule pesant vitesse angulaire


4

(t)

10
t

12

1.2 Dnition des E.D.O.

1 INTRODUCTION
Pendule pesant

(t)

4
3

0
(t)

1.2 Dnition des E.D.O.


Soit une fonction y dnie sur un intervalle de R valeurs dans Rm de
classe C p (continment drivable d'ordre p) et on note y ppq la drive d'ordre
p de y .

Dnition 1.1 On appelle quation direntielle ordinaire (E.D.O.)

d'ordre p une quation de la forme :

F pt, y ptq, y p1q ptq, y p2q ptq, . . . , y ppq ptqq  0.

Dnition 1.2 On appelle forme canonique d'une E.D.O. une expression du type :

y ppq ptq  G pt, y ptq, y p1q ptq, y p2q ptq, . . . , y pp1q ptqq.

(1.9)

Toute quation direntielle d'ordre p sous forme canonique peut s'crire


comme un systme de p quations direntielles d'ordre 1. En eet, en introduisant p fonctions dnies par

$
'
'
'
&

z r1s ptq
z r2s ptq




y p0q ptq
y p1q ptq

..
'
.
'
'
% rps
z ptq  y pp1q ptq
8

1.2 Dnition des E.D.O.

$
'
'
'
'
&

on obtient

'
'
'
'
%
Or

y ppq ptq

1 INTRODUCTION

dzz r1s
dt
dzz r2s
dt

pt q 
pt q 

y p1q ptq  z r2s ptq,


y p2q ptq  z r3s ptq,

dzz rps
dt

ptq 

y ppq ptq.




..
.

G pt, y ptq, y p1q ptq, y p2q ptq, . . . , y pp1q ptqq


G pt, z r1s ptq, z r2s ptq, . . . , z rps ptqq.

On obtient alors le systme direntiel d'ordre 1 suivant :


$ r1s
dzz
r2s
'
'
dt ptq  z ptq,
'
'
r
2
s
& dzz ptq  z r3s ptq,
dt
..
'
'
.
'
'
% dzz rps ptq  G pt, z r1s ptq, z r2s ptq, . . . , z rps ptqq.
dt

(1.10)

Exemple
 1
(suite) Pour obtenir la forme canonique de (1.4), on pose

y pt q 

y1 ptq
y2 ptq

avec y1 ptq  X ptq et y2 ptq  Y ptq. On obtient alors


 p1q 

X p1q ptq
y1 ptq
p
1q
 Y p1qptq
y ptq 
p1q
y2 ptq


Avec p  1 et
$
& G b : R  R2
pt, z q
%

X ptqY ptq  p 1qX ptq


X 2ptqY ptq X ptq
y12 ptqy2 ptq  p 1qy1 ptq
y12ptqy2ptq y1ptq

R


z12 z2  p 1qz1
z12z2 z1

la forme canonique est donne par


y p1q ptq  G b pt, y ptqq.

(1.11)

Exemple 2 (suite) Pour obtenir la forme canonique de (1.7),on prend


p2

et

"

Gp : R  R  R
pt, u, vq

R
 Lg sinpuq

La forme canonique est alors donne par


p2q ptq  Gp pt, ptq, p1q ptqq.

(1.12)

1.3 Formulation gnrale : le problme de Cauchy 1 INTRODUCTION

1.3 Formulation gnrale : le problme de Cauchy


Dnition 1.3 (problme de Cauchy) Soit f l'application continue dnie par

rt0, t0
pt, y q

avec T Ps0, 8s. Le problme


y dnie par
y :

T s  Rd

Rd
f pt, y q

de Cauchy revient chercher une fonction

rt0, t0

Ts

Rd
y ptq

continue et drivable, telle que


y 1 pt q
y pt0 q

 f pt, y ptqq, @t P rt0, t0


 y r0s P Rd.

Ts

(1.13)
(1.14)

On supposera qu'une telle solution existe.

Exemple 1.4

exemple :

Un problme de Cauchy peut tre linaire, comme par


" 1
y ptq  3y ptq  3t, si t 0
y p0 q

pour lequel f pt, vq  3v  3t et dont la solution est yptq  p1  1{3qe3t

1{3.

On peut avoir aussi des problmes non-linaires, comme :


a
" 1
y ptq  3 y ptq, si t 0

y p0q

avec f pt, vq  3 v.
a Ce problme admetales trois solutions suivantes :
y ptq  0, y ptq  8t3 {27 et y ptq   8t3 {27.
Le problme suivant :
" 1
y ptq  1 y 2 ptq, si t 0
y p0 q

admet comme solution la fonction yptq


c'est--dire une solution locale.

tanptq

avec 0

Exemple 1 (suite) La forme canonique (1.11) est d'ordre

on obtient
alors directemnt le problme de Cauchy associ : chercher une fonction y
dnie par
y :

r0, T s R2
t
y ptq
10

1,

1.3 Formulation gnrale : le problme de Cauchy 1 INTRODUCTION

continue et drivable, telle que


y 1 ptq  f pt, y ptqq,
y p0 q

avec f

 G b et y p0q 

y0

PR

@t P rt0, t0

Ts

(1.15)
(1.16)

3
.
2

Exemple 2 (suite) La forme canonique (1.12) est d'ordre

mne un systme direntiel du 1er ordre en posant :



ptq
y 1 pt q
 p1qptq
y ptq 
y 2 pt q

2.

On se ra-

On a alors, en drivant l'expression prcdente :


 p1q 

p1q ptq
y1 ptq
p
1q

y ptq 
p1q
p2q ptq
y2 ptq


p1q ptq
 G pt, ptq, p1qptqq
p


y 2 pt q
.
Gp pt, y1 ptq, y2 ptqq

On pose
fp :

Le problme

r0, T s  R2
pt, z q

r0, T s R2
t
y ptq

continue et drivable, telle que


y 1 ptq  f p pt, y ptqq,
avec

z2
.
Gp pt, z1 , z2 q

de Cauchy revient chercher une fonction y dnie par


y :

y p0 q 

2
R


0
.
1

y p0q

y0

PR

@t P r0, T s

(1.17)
(1.18)

Dans de nombreux cas, la variable t reprsente le temps et les composantes du vecteur y , une famille de paramtres dcrivant l'tat d'un systme
matriel donn. L'quation direntielle (1.17) traduit physiquement la loi
d'volution du systme considr.
En gnral, il est impossible de trouver des solutions exactes ces problmes. Il faut alors construire des mthodes numriques pour obtenir des
11

1.4 Drivation numrique

1 INTRODUCTION

solutions approches. Toutefois, il faudra vrier l'existence et l'unicit de la


solution. Pour cela, on a le

" 1
y pt q

 f pt, y ptqq
 y 0 P Rm .
avec f : U Rm , U un ouvert de R  Rm et pt0 , y r0s q P U .
pPC q

y pt0 q

Thorme 1.5 (Cauchy-Lipschitz) On suppose que la fonction f est continue sur U et quelle est localement lipschitzienne en y :
voisinage t , DV voisinage y , DL 0 tels que

@pt, y q P

U, DW

@s P W, @pu, v q P V 2, }f ps, uq  f ps, v q} L }u  v }


(1.19)
Sous ces hypothses le problme de Cauchy pPC q admet une unique solution.
Bf
Proposition 1.6 Si pt, y q est continue et borne, alors f satisfait la
By

condition de Lipschitz (1.19) en y .

1.4 Drivation numrique


par

Soit y : ra, bs R, de classe C 1 et t P ra, bs. La drive y 1 ptq est donne

y 1 pt q





hq  y ptq
h
h0
y ptq  y pt  hq
lim
h
h0
y pt hq  y pt  hq
lim
h0
2h
lim

y pt

 a nh, n P v0, N w et h  pb  aq{N une discrtisation


rgulire de ra, bs. Soit pDyqn une approximation de y1 ptn q. On appelle
dirence nie progressive l'approximation
n 1
n
pDyqP  ypt q  ypt q , @n P v0, N  1w
(1.20)
On note tn

dirence nie rtrograde l'approximation


n
n1
pDyqR  ypt q  ypt q , @n P v1, N w

(1.21)

dirence nie centre l'approximation


n 1
n1
pDyqC  ypt q  ypt q , @n P v1, N  1w

(1.22)

2h

12

1.4 Drivation numrique

1 INTRODUCTION

Pour calculer l'erreur commise par ces approximations, on rappelle le


developpement de Taylor

Proposition 1.7 (Dveloppement de Taylor) Soit f une application f :

ra, bs R. Si f P C r 1pra, bsq alors @px, yq P ra, bs2 il existe un Psx, yr tel

que

f p k q py q

f pxq  f py q

k 0

k!

f pr
pr

p x  y qk

q p q
1 q!

px  y q r

(1.23)

Exercice 1.1 Q. 1 Soit y P C 2 pra, bsq.


1. Montrer qu'il existe Pn

Pstn, tn 1r et Rn Pstn1, tnr tels que

pDyqPn  yp1qptnq
et

h p2q n
y p P q
2

pDyqRn  yp1qptnq  h2 yp2qpRn q

2. En dduire que

et

|yp1qptnq  pDyqPn | Ch,

avec C 

|y1ptnq  pDyqRn | Dh,

avec D 

Q. 2 Soit y P C 3 pra, bsq.

1. Montrer qu'il existe 1n Pstn , tn

1
max
2 tPrtn ,tn

|yp2qptq|

1
max |y p2q ptq|
2 tPrtn1 ,tn s

r et 2n Pstn1, tnr tels que

pDyqCn  yp1qptnq  h12 pyp3qp1nq


2

y p3q p2n qq

2. En dduire que

|yp1qptnq  pDyqCn | Eh2,

avec E 

1
max
6 tPrtn1 ,tn

|yp3qptq|

Dnition 1.8 La dirence phq  |y1 ptn qpDyqn | est appele erreur de

troncature au point tn . On dira que est d'ordre p 0 si il existe une


constance C 0 telle que

phq Chp .

Les erreurs de troncature des dirences nies progressive et rtrograde


sont d'ordre 1 et l'erreur de troncature de la dirence nie centre est d'ordre
2.
13

1.5 Mthode des dirences nies pour le problme de Cauchy en


dimension d  1
1 INTRODUCTION

1.5 Mthode des dirences nies pour le problme de Cauchy en dimension d  1


On veut rsoudre numriquement le problme de Cauchy (1.13)-(1.14) en
utilisant les dirences nies progressive, rtrograde ou centre.
On note tn  t0 nh, n P t0, . . . , N u une discrtisation rgulire de
0
rt , t0 T s avec h  T {N le pas de temps. On a

y 1 ptq  f pt, y ptqq,

ce qui entraine

@t P rt0, t0

y 1 ptn q  f ptn , y ptn qq,

Ts

@n P v0, N w.

(1.24)

En utilisant la formule des dirences nies progressive, on a @n P v0, N

Dn P rtn, tn 1s tels que


y ptn 1 q  y ptn q
 f ptn, yptnqq
h

ou encore

 1w,

h 2
y pn q
2

h2 2
y p n q.
2
On note y rns une approximation de y ptn q pour n P v0, N w.
La mthode d'Euler progressive est donne par le schma
y ptn

" rn 1s
y
y r0s

q  yptnq

 yrns
 ypt0q

hf ptn , y ptn qq

hf ptn , y rns q,

@n P v0, N  1w

(1.25)

Ce schma est explicite, car il permet le calcul direct de y rn 1s en fonction


de y rns .
De la mme manire, la mthode d'Euler rgressive est donne par le
schma

" rn 1s
y
y r0s

 yrns
 ypt0q

hf ptn

1, y n 1

s q, @n P v0, N  1w

(1.26)

Ce schma est implicite, car y rn 1s est dnit implicitement en fonction de


y rns . Il faut donc rsoudre chaque pas de temps une quation non-linaire
en utilisant des mthodes de point xe par exemple.

Exercice 1.2 On veut rsoudre numriquement le problme pP q suivant :


trouver y telle que

" 1
y ptq

 cosptq 1, @t P r0, 4s
 0.
dont la solution exacte est yptq  sinptq t.
pP q

y p0 q

On rappelle le schma d'Euler progressif pour la rsolution d'un problme


de Cauchy
" rn 1s
rns
n rns
pS q yyr0s  ydonn.hf pt , y q,
14

1.6 Exemple

1 INTRODUCTION

Q. 1 Expliquer en dtail comment utiliser le schma d'Euler progressif pour

rsoudre le problme pP q en prcisant entre autres les donnes, les inconnues,


les dimensions des variables, lien entre yrns et la fonction y, ...

Q. 2 (algorithmique) Soit a, b, a b deux rels. Ecrire une fonction Disretournant une discrtisation de l'intervalle ra; bs avec N pas (constant)
de discrtisation.

Reg

Q. 3 (algorithmique) Ecrire une fonction REDEP retournant l'ensemble


des couples ptn , yrns q calculs par le schma d'Euler progressif.

Q. 4 (algorithmique) Ecrire un algorithme complet de rsolution de pP q


par le schma d'Euler progressif.

1.6 Exemple
Soit l'E.D.O. suivante

" 1
y ptq

 y pt q
y p0q  1

de solution exacte

t2 y 2 ptq, pour t P r0, 5s,

y ptq  1{pet  t2

2t  2q.

Les rsolutions numriques avec les schmas d'Euler progressif et rtrograde


sont reprsents en gure 1.

1.7 Stabilit
Pour illustrer la notion de stabili (absolue) d'un schma numrique, on
tudie le problme modle suivant :
Soit 0, Soit l'E.D.O. suivante

" 1
y pt q
y p0 q




y ptq, pour t P R ,
y0

o 0 est donn. La solution exacte est

y ptq  y0 et .
En particulier, on a

lim y ptq  0

15

1.7 Stabilit

1 INTRODUCTION
y(t)=y(t)+t2 y2(t) avec y(0)=1 et N=20

0.2
exacte
Euler Progressive
Euler Rgressive

0.4

0.6

0.8

1.2

1.4

1.6

1.8

0.5

Figure

1.5

2.5
t

3.5

4.5

1  rsolutions avec Euler progressif et rtrograde

tn  nh, o le pas de temps h 0 est donn et


r
n
s
y une approximation de y ptn q par un schma donn. On dit alors que le
schma associ ce problme est absolument stable si
lim y rns  0.
n 8

Dnition 1.9 On pose

Ce n'est malheureusement pas toujours le cas comme illustr en gure2 avec


20
le schma d'Euler progressif et h  20
19  1.05. Par contre, avec h  21 
0.95, le mme schma est stable (voir gure3).
Pour comprendre ce phnomne, on crit le schma d'Euler progressif :

y rn
d'o

s  yrns

hf ptn , y rns q  y rns

y rns

 p1

hqn y r0s ,

hy rns

 p1

hqy rns

@n 0.

On remarque alors que si |1 h| 1 alors limn 8 |y rns |  8, le schma


d'Euler progressif est alors instable. Pour assurer la stabilit, il faut ici imposer une condition sur h :

|1

2
h| 1 d'o 0 h  .

On dit alors que le schma d'Euler progressif est conditionnellement stable.


16

1.7 Stabilit

1 INTRODUCTION

y(t)=2y(t) avec y(0)=1 et h=1.0526


8
exacte
6

Euler Progressive
Euler Regressive

Figure

10
t

12

14

16

18

20

2  Instabilit Euler progressif - Stabilit Euler rtrograde


y(t)=2y(t) avec y(0)=1 et h=0.95238

1
exacte
Euler Progressive
Euler Regressive

0.8

0.6

0.4

0.2

0.2

0.4

0.6

0.8

Figure

10
t

12

14

16

18

20

3  Stabilit Euler progressif - Stabilit Euler rtrograde


17

1.8 Mthode des dirences nies pour le problme de Cauchy en


dimension d
1 INTRODUCTION
De la mme manire, pour le schma d'Euler rtrograde on obtient

y rn 1s 
et donc

y rns

1  h
1

1  h

y rns

y r0s ,

@n 0.

Dans ce cas limn 8 y rns  0 sans condition : on dit que le schma d'Euler
rtrograde est inconditionnellement stable.

1.8 Mthode des dirences nies pour le problme de Cauchy en dimension d


On veut rsoudre le problme de Cauchy :

" 1
y ptq

 f pt, y ptqq, @t P rt0, t0


y p q  y 0 P Rd .

pPC q

Ts

t0

La fonction f tant dnie par

rt0, t0

T s  Rd

pt, z q
En notant

Rd



f 1 pt, z q


w  f pt, z q   ...
f d pt, z q





y1 ptq
f1 pt, y ptqq




..
y ptq   ... et f pt, y ptqq  

.
yd ptq

fd pt, y ptqq

le problme de Cauchy peut aussi s'crire sous la forme

$ 1
y1 ptq
'
'
'
&.

f1 pt, y ptqq,

'
yd1 ptq
'
'
% avec

fd pt, y ptqq, @t P rt0 , t0


y pt0 q  y 0 P Rd .

..

Ts

Aprs discrtisation et utilisation de la formule des dirences nies progressive on obtient


$
rn 1s  yrns hf ptn , y rns q
'
y1
'
1
1
'
'
& ..
.

rn 1s
'
'
yd
'
'
% avec

rns

yd
hfd ptn , y rns q
y pt0 q  y 0 P Rd .

18

2 MTHODE UN PAS OU PAS SPARS

 rns
y1


o y rns   ... et y rns q  y ptn q.
rns
y
d

On obtient alors la mthode d'Euler

" rn 1s
y
y r0s

 y rns
 y pt0q

progressive sous forme vectorielle :

hff ptn , y rns q,

@n P v0, N  1w

(1.27)

Ce schma est explicite, car il permet le calcul direct de y rn 1s en fonction


de y rns .
De la mme manire, la mthode d'Euler rgressive sous forme vectorielle est donne par le schma

" rn 1s
y
y r0s

Ce schma est
y rns .
2

 y rns
 y pt0q

hff ptn

s q, @n P v0, N  1w

1, y n 1

(1.28)

implicite, car y rn 1s est dnit implicitement en fonction de

Mthode un pas ou pas spars

Pour simplier on prend h  hn (pas constant)

2.1 Schma gnral


Les mthodes un pas utilisent la formule gnrale :

y rn

s  y rns

ptn , y rns , hq
h

(2.1)

Pour la mthode d'Euler, la fonction pt, y , hq est f pt, y q.

2.2 Convergence

La mthode converge sur l'intervalle rt0 , t0 T s si, pour la suite des y rns
calculs, l'cart maximum avec la solution exacte diminue quand le pas h
diminue :




lim
max y rns  y ptn q  0

 NT 0 nPt0,...,N u

2.3 Stabilit

La mthode est stable si une petite perturbation sur y r0s ou n'entrane


qu'une petite perturbation sur la solution approche, et cela quel que soit le
pas h.
Souvent , lorsque la mthode n'est pas stable, l'amplication des erreurs
est exponentielle et, au bout de quelques calculs, les rsultats entranent des
dpassements de capacit.
19

2.4 Consistance

3 MTHODE DE RUNGE-KUTTA

Thorme 2.1 Si pt, y , hq vrie la condition de Lipschitz en y alors la


mthode est stable.

2.4 Consistance
Le schma de calcul (2.1) est consistant avec l'quation direntielle si

 n
 y pt
lim max 
h T 0 n
N

q  y ptnq  ptn, y ptnq, hq  0




Cela signie que le schma doit tre une approximation vraisemblable, bien
construite.

Thorme 2.2 Le schma est consistant si pt, y, 0q  f pt, yq.

Thorme 2.3 Si la mthode est stable et consistante, alors elle converge


pour n'importe quelle valeur initiale.

2.5 Ordre
La mthode itrative est d'ordre p si pour toute solution :

 n
 y pt
max 
n

q  y ptnq  ptn, y ptnq, hq Chp




Mthode de Runge-Kutta

3.1 Principe

Pour simplier, on suppose hn  h. L'ide fondamentale des mthodes


de Runge-Kutta est d'intgrer l'quation (??) sur rtn , tn 1 s et de calculer :

y pt

n 1

tn

q  y pt q
n

tn

f pt, y ptqqdt,

en utilisant une formule d'intgration numrique q points intermdiaires


tn,i 1  tn hi pour calculer l'intgrale.
La fonction associe une mthode de Runge-Kutta q valuations
de f peut s'crire sous la forme :

pt, y , hq 

cik ris pt, y , hq

i 1

avec


r
is
k pt, y , hq  f t

hai , y

j 1

20


r
js
bi,j k pt, y , hq , 1 i q

3.2 Formules explicites de Runge-Kutta


3 MTHODE
d'ordre 2 DE RUNGE-KUTTA
que l'on peut reprsenter sous la forme d'un tableau dit
cher :
a B
ct
avec B  pbi,j qi,j Pv1,qw

Remarque 3.1

tableau de But(3.1)

P Mq,q pRq, a  paiqiPv1,qw P Rq et c  pciqiPv1,qw P Rq

1. Une mthode de Runge-Kutta est d'ordre 0 si


q

ai

bij .

j 1

2. Une mthode de Runge-Kutta est d'ordre 1 (et donc consistante) si elle


est d'ordre 0 et si
q

ci

 1.


3. Une mthode de Runge-Kutta est d'ordre 2 si elle est d'ordre 1 et si
q

i 1

ci ai

 1{2.


4. Une mthode de Runge-Kutta est explicite si la matrice B est triangulaire infrieure diagonale nulle :
i 1

@pi, j q P v1, qw, j i,

bij

 0.

5. Les mthodes de Runge-Kutta explicites sont stables si f est contractante en y.


3.2 Formules explicites de Runge-Kutta d'ordre 2


0
1
2

0
0
1

pt, y , hq  p1  qf pt, y q

Avec  21 , on obtient la

y rn

s  y rns

ff pt

y rn 1s  y rns

h
,y
2

mthode de Heun :

h n rns
f pt , y q
2

Avec  1, on obtient la
du point milieu :

(3.2)

1
2

h n
f t
2

, y rns

h
f pt, y qq
2

hff ptn , y rns q .

mthode d'Euler modie ou mthode



hff

21

h rns
,y
2

h n rns
f pt , y q .
2

3.3 Mthodes de Runge-Kutta d'ordre


3 4MTHODE DE RUNGE-KUTTA

Exercice 3.1 la mthode de Heun est donne par


y rn

s  y rns

h n rns
f pt , y q
2

h n
f t
2

Q. 1 Ecrire la fonction algorithmique

, y rns

hff ptn , y rns q .

permettant de rsoudre un problme de Cauchy (vectoriel par la mthode de Heun en utilisant


au plus 2N valuation de f .

REDHeunVec

Pour des valeurs plus leves de p, ces mthodes sont plus prcises que
la mthode d'Euler, et d'autant plus que p augmente. On se limite dans la
pratique p  4. Cette mthode est connue sous le nom de Runge-Kutta 4.
Remarquons que dans ces mthodes le pas peut tre adapt chaque tape.

3.3 Mthodes de Runge-Kutta d'ordre 4


La mthode explicite la plus utilise est donne par le tableau de Buchler
suivant
0
0
0
0
0
1{2 1{2 0
0
0
1{2 0 1{2 0
0
(3.3)
1
0
0
1
0
1{6 2{6 2{6 1{6
Ce qui donne le schma explicite de Runge-Kutta d'ordre 4 :

rns

k1
rns
k2
rns
k3
rns
k4
y rn







f ptn , y rns q
rns
f ptn h2 , y rns h2 k 1 q
rns
f ptn h2 , y rns h2 k 2 q
rns
f ptn h, y rns hkk 3 q
rns 2kk rns 2kk rns
y rns h6 pk 1
2
3

(3.4)

rns q.

k4

Exercice 3.2 la mthode de Runge-Kutta d'ordre 4 est donne par


rns

k1
rns
k2
rns
k3
rns
k4
y rn
y rn

s  y rns

f ptn , y rns q
rns
f ptn h2 , y rns h2 k 1 q
rns
f ptn h2 , y rns h2 k 2 q
rns
f ptn h, y rns hkk 3 q
rns 2kk rns 2kk rns k rns q.
y rns h6 pk 1
2
3
4

h n rns
h  n 1 rns
f pt , y q
f t
,y
hff ptn , y rns q .
2
2







Q. 1 Ecrire la fonction algorithmique REDRK4Vec permettant de rsoudre


un problme de Cauchy (vectoriel par la mthode de Runge-Kutta d'ordre 4.

22

4 MTHODES PAS MULTIPLES


4

Mthodes pas multiples

4.1 Exemple : schma de point milieu


Considrons la mthode deux pas dnie par la rcurrence :

y rn

s  y rn1s

2hff ptn , y rns q.

(4.1)

Cette mthode est d'ordre 2.


De manire vidente, ces mthodes pas multiples posent des problmes
de dmarrage : ici, on ne peut calculer directement y r1s . Les premires valeurs
doivent tre calcules par un autre schma.

4.2 Le principe

Dans tous les schmas prsents, la valeur de y rn 1s tait dtermine


chaque pas de faon explicite en fonction uniquement du point y rns . On
peut tenir compte de plusieurs valeurs y ris prcdemment calcules et ainsi
travailler sur un nombre de pas multiples.
Les mthodes pas multiples s'crivent sous la forme gnrale :
k

iy rn is  h
if ptn i , y rn is q
i0
i0
k

(4.2)

 0 et |0| |0| 0.

o k est le nombre de pas, k

Remarque 4.1 Si k  0 le schma est explicite, sinon il est implicite.


Dnition 4.2 (ordre) Soit y la solution du problme de Cauchy (??) et

y rn ks la valeur obtenue par le schma


@i P v0, k  1w. Alors, l'erreur locale est
pn

k q  y pt n

(4.2) en prenant y rn is

q  y rn

 y ptn iq,

s.

Le schma (4.2) est d'ordre p si


pn

k q  Ophp

q.

Thorme 4.3 Un schma pas multiple de type (4.2) est d'ordre p si et

seulement si

i0
k

i 0

i i




0,

i iq1 ,

i 0

23

@q P v1, pw.

4.3 Mthodes d'Adams-Bashforth 4 MTHODES PAS MULTIPLES

Proprit 4.4 (Stabilit) Soit P le polynme dni par P pq 


Une mthode pas multiple est stable, si
1. toutes les racines de P sont de module infrieur ou gal 1,
2. une racine de module gal 1 est une racine simple de P.

i i .

i 0

 2 et
$
  1 & 0  0
 0
 2
% 1  1
% 1  0
2
2
On obtient donc P pq  1 2  p 1qp  1q : le schma (4.1) est stable.
Pour le schma (4.1), on a k

$
& 0

Thorme 4.5 (Convergence) On suppose que les k valeurs initiales v-

rient,



y pti q  y ris  C hp , @i P v0, k  1w.


0

Si le schma (4.2) est d'ordre p et stable, alors il est convergent d'ordre p :




y ptn q  y rns  Chp , @n P v0, N w.


Pour obtenir, partir d'un schma k pas, un schma d'ordre p il faut
obligatoirement initialiser les k premires valeurs l'aide d'un schma d'ordre
p au moins.

4.3 Mthodes d'Adams-Bashforth


On note f rns

 f ptn, y rnsq


h  rns
r
n1s
f
f

3f 
.
(4.3)
2


h
y rn 1s  y rns
23ff rns  16ff rn1s 5ff rn2s .
(4.4)
12

h 
y rn 1s  y rns
55ff rns  59ff rn1s 37ff rn2s  9ff rn3s . (4.5)
24
Ces schmas sont explicites et leur ordre correspond au nombre de pas.
y rn

y rns

Exercice 4.1 La mthode de Adam-Bashforth d'ordre 4 explicite est


donne par
y rn 1s

y rns

h
24

55ff rns  59ff rn1s

37ff rn2s  9ff rn3s .

avec f rns  f ptn , y rns q.


Q. 1 Ecrire la fonction algorithmique REDAB4Vec permettant de rsoudre
un problme de Cauchy (vectoriel) par cette mthode.

24

4.4 Mthodes d'Adams-Moulton

4 MTHODES PAS MULTIPLES

4.4 Mthodes d'Adams-Moulton


y rn

y rns

y rn

y rns

y rn

y rns


h  rn 1s
f
f rns .
2

h  rn 1s
5ff
8ff rns  f rn1s .
12
h  rn 1s
9ff
19ff rns  5ff rn1s
24

(4.6)

f rn2s .

(4.7)
(4.8)

Ces schmas sont implicites et leur ordre correspond au nombre de pas plus
un.

4.5 Schma prdicteur-correcteur


4.5.1 Principe
Il s'agit l d'une des mthodes les plus employes. Une mthode de
prdiction-correction procde en deux temps : on fournit explicitement une
valeur approche de la solution au ni`eme pas (soit y rn 1s ), puis on calcule

rn 1s

) et enn, on subsitue cette valeur


la valeur correspondante de f (soit f
dans un schma implicite (on obtient alors une valeur corrige ).
pour n variant de 0 N  1 faire
Calculer une valeur approche y rn

rn 1s

s par un schma explicite ;

Evaluer f
 f ptn 1, y rn 1sq;
y rn 1s q l'aide d'un schma implicite en remplaant l'inconnue par y rn
npour

4.5.2 Exemple
Choisissons la mthode d'Euler explicite pour prdicteur et la mthode
implicite des trapzes comme correcteur.
y rn 1s  y rns hff ptn , y rns q
Euler explicite :
Trapze implicite : y rn 1s  y rns h2 pf ptn , y rns q f ptn 1 , y rn 1s qq
On obtient :

$ rns
f
'
'
'
& y rn 1s
rn 1s
'
f
'
'
% rn 1s
y

 f ptn, y rnsq;
 y rns hff rns;
 f ptn 1, y rn 1sq;
 y rns h2 py rn 1s

f rns q

Remarque 4.6 On retrouve ici, pour ce cas simple, une formule de RungeKutta 2.

En pratique, on peut utiliser un schma d'Adams explicite (??) pour la


prdiction et un autre implicite (??) pour la correction.
25

s q;

5 EXERCICES CORRIGS

Exercice 4.2 On pose f rns  f ptn , y rns q. La mthode de Adams-Bashforth

d'ordre 4 explicite est donne par


y rn

s  y rns

et la mthode
y rn

h 
55ff rns  59ff rn1s
24

37ff rn2s  9ff rn3s

de Adams-Moulton d'ordre 4 implicite par


s  y rns

h  rn
9ff
24

19ff rns  5ff rn1s

f rn2s

avec f rns  f ptn , y rns q.


Q. 1 Ecrire la fonction algorithmique REDPreCor4Vec permettant de
rsoudre un problme de Cauchy (vectoriel) par une mthode de prdictioncorrection utilisant ces deux schmas.

Remarque 4.7

1. La stabilit du prdicteur intervient peu.


2. Le choix du pas dans ces mthodes est un problme dicile.

4.5.3 Comparaison avec Runge-Kutta


L'intrt d'une mthode de rsolution numrique d'quations direntielles se mesure principalement suivant deux critres :
 son cot pour obtenir une prcision donne (c'est dire le nombre
d'valuations de fonctions par tapes).
 sa stabilit.
La caractristique des mthodes de Runge-Kutta est que le pas est assez
facile adapter, la mise en oeuvre informatique plus aise. Mais pour des mthodes du mme ordre de consistance, les mthodes de Runge-Kutta exigent
plus d'valuations de fonctions. Quand on sait que la solution de l'quation n'est pas sujette de brusques variations de la drive, on prendra une
mthode de type prdicteur-correcteur mais, si le pas doit tre adapt plus
prcisment, on prfrera une mthode de Runge-Kutta.
5

Exercices corrigs

Exercice 1

Q. 1 Soit y P C 2 pra, bsq.

1. Montrer qu'il existe Pn

Pstn, tn 1r et Rn Pstn1, tnr tels que

pDyqPn  yp1qptnq
et

h p2q n
y p P q
2

pDyqRn  yp1qptnq  h2 yp2qpRn q


26

5 EXERCICES CORRIGS

2. En dduire que

|yp1qptnq  pDyqPn | Ch,

avec C 

|y1ptnq  pDyqRn | Dh,

avec D 

et

Q. 2 Soit y P C 3 pra, bsq.

1. Montrer qu'il existe 1n Pstn , tn

1
max
2 tPrtn ,tn

|yp2qptq|

1
max |y p2q ptq|
2 tPrtn1 ,tn s

r et 2n Pstn1, tnr tels que

pDyqCn  yp1qptnq  h12 pyp3qp1nq

y p3q p2n qq

2. En dduire que

|yp1qptnq  pDyqCn | Eh2,

avec E 

1
max
6 tPrtn1 ,tn

|yp3qptq|

Correction
Q. 1

1. Soit n P v0, N

 1w, on a
n 1
n
pDyqPn  ypt qh ypt q .

D'aprs la formule de Taylor, il existe Pn

y ptn
d'o

q  yptnq

hy p1q ptn q

P rtn, tn 1s tel que


h2 p2q n
y p P q
2!

n 1
n
pDyqPn  ypt qh ypt q  yp1qptnq

h p2q n
y p P q .
2!

(5.1)

(5.2)

On a

n
n1
pDyqRn  ypt q hypt q .
n P rtn1 , tn s tels que
D'aprs la formule de Taylor, il existe R
phq2 yp2qpn q
y ptn1 q  y ptn q  hy p1q ptn q

2!

d'o

n
n1
pDyqRn  ypt q hypt q  yp1qptnq  h2 yp2qpRn q

27

(5.3)

(5.4)

5 EXERCICES CORRIGS
2. Soit n P v0, N

 1w, comme Pn P rtn, tn 1s on a


|yp2qpPn q| tPrtmax
|yp2qptq|
,t
s
n n 1

d'o, en utilisant (5.2),

|pDyqPn  yp1qptnq|  h2 |yp2qpPn q| h2 tPrtmax


|yp2qptq|.
,t
s
n n 1

P rtn1, tns on a
|yp2qpRn q| tPrtmax
|yp2qptq|
 ,t s

n
De mme, comme R

n 1 nn

d'o, en utilisant (5.4),

|yp2qptq|.
|pDyqRn  yp1qptnq|  h2 |yp2qpRn q| h2 tPrtmax
 ,t s
n 1 n

1. Soit n P v0, N

Q. 2

 1w, on a

n 1  y ptn1 q
.
pDyqCn  ypt q 2h

D'aprs la formule de Taylor, il existe 1n


tels que

y ptn

q  yptnq

hy p1q ptn q

P rtn, tn 1s et 2n P rtn1, tns

h2 p2q n
y pt q
2!

h3 p3q n
y p 1 q
3!

(5.5)

et

y ptn1 q  y ptn q  hy p1q ptn q

h2 p2q n
h3
y pt q  y p2q p2n q
2!
3!

En soustrayant (5.6) (5.5), on obtient

y ptn

q  yptn1q  2hyp1qptnq

d'o

y p1q ptn q 
2. Comme 1n

y ptn

h3 p3q n
p y p 1 q
6

q  yptn1q  h2 pyp3qpnq
2h

12

y p3q p2n qq
y p3q p2n qq.

P rtn, tn 1s rtn1, tn 1s, on en dduit que


|yp3qp1nq| tPrt max
|yp3qptq|.
 ,t s
n 1 n 1

P rtn1, tns rtn1, tn 1s on a


|yp3qp2nq| tPrt max
|yp3qptq|.
 ,t s

De mme, comme 2n

n 1 n 1

28

(5.6)

5 EXERCICES CORRIGS

Exercice 2
On veut rsoudre numriquement le problme pP q suivant : trouver y
telle que
" 1
ptq 1, @t P r0, 4s
pP q yypp0tqq  cos
0.

dont la solution exacte est y ptq  sinptq t.


On rappelle le schma d'Euler progressif pour la rsolution d'un problme
de Cauchy
" rn 1s
rns
n rns
pS q yyr0s  ydonn.hf pt , y q,

Q. 1 Expliquer en dtail comment utiliser le schma d'Euler progressif pour

rsoudre le problme pP q en prcisant entre autres les donnes, les inconnues,


les dimensions des variables, lien entre yrns et la fonction y, ...

Q. 2 (algorithmique) Soit a, b, a b deux rels. Ecrire une fonction Disretournant une discrtisation de l'intervalle ra; bs avec N pas (constant)
de discrtisation.

Reg

Q. 3 (algorithmique) Ecrire une fonction REDEP retournant l'ensemble


des couples ptn , yrns q calculs par le schma d'Euler progressif.

Q. 4 (algorithmique) Ecrire un algorithme complet de rsolution de pP q


par le schma d'Euler progressif.

Correction
Q. 1 On commence par crire le problme de cauchy associ pP q :
" 1
y ptq

 f pt, yptqq, @t P rt0, t0 T s


y pt0 q  y0 P R.
avec t0  0, T  4, y0  0 et
f : rt0 , t0 T s  R R
pt, zq
cosptq 1 .
pPC q

Les donnes du problme de Cauchy sont donc les rels t0 , T, y0 et la fonction


f. L'inconnue est la fonction y : rt0 , t0 T s R.
Pour rsoudre numriquement le problme de Cauchy, on utilise le schma
pS q o les donnes sont celles du problme de Cauchy plus le nombre de
discrtisations N P N On peux alors calculer
29

5 EXERCICES CORRIGS

tn , n P v0, N w qui sont les points de la discrtisation rgulire N


intervalles :
tn

 t0

nh,

@n P v0, N w,

avec h 

T
.
N

y rns , n P v0, N w dtermins par le schma pS q. On a y r0s


calcule
y rn

s  yrns

hf ptn , y rns q, pour i  0 N

 y0, puis on
1

Une discrtisation rgulire de l'intervalle ra, bs avec N pas (constant)


de discrtisation est donne par

Q. 2

tn

a

nh,

@n P v0, N w,

avec h 

ba
.
N

Algorithme 1 Fonction DisReg retournant une discrtisation rgulire de


l'intervalle ra, bs

Donnes :

Rsultat :
1:

Fonction t DisReg( a, b, N

2:
3:
4:
5:
6:

a, b : deux rels, a b
N
: un entier non nul (nombre de pas de discrtisation).
t : vecteur de RN 1

h pb  aq{N
Pour n 0 N faire
t pn 1q a n  h

Fin Pour
Fin Fonction

Q. 3

L'algorithme de la fonction

REDEP

30

est :

5 EXERCICES CORRIGS

Algorithme 2

Fonction REDEP : rsolution d'un problme de Cauchy


scalaire par le schma d'Euler progressif
Donnes : f : f : rt0 , t0 T s  R R fonction d'un
problme de Cauchy (scalaire)
t0
: rel, temps initial
T
: rel 0
y 0 : rel, donne initiale
N
: un entier non nul (nombre de pas de discrtisation).
Rsultat : t : vecteur de RN 1 , t pnq  tn1 , @n P v1, N 1w
Y
: vecteur de RN 1 , Y pnq  y rn1s , @n P v1, N 1w
1:

Fonction rt , Y s REDEP( f, t0 , T, y0 , N

t
p
T, N q
h pb  aq{N
Y p1q y 0
Pour n 1 N faire
Y pn 1q Y pnq h  f pt pnq, Y pnqq

2:
3:
4:
5:
6:
7:
8:

Fin Pour
Fin Fonction

Q. 4

Il faut tout d'abord crire la fonction


fonction f :

Algorithme 3
associ pP q

Donnes :

Rsultat :
1:
2:
3:

DisReg t0 , t0

t
z
w

Fonction

fCauchy

fCauchy

correspondant la

: fonction f du problme de Cauchy

: un rel
: un rel
: un rel

Fonction w fCauchy( t, y )
w

cosptq

Fin Fonction

L'algorithme de rsolution est :

Algorithme 4 rsolution numrique du problme pP q


1:
2:
3:
4:

t0 0
T 4
y0 0
rt, Y s

REDEP( fCauchy, t0 , T, y 0 , 500)

31

5 EXERCICES CORRIGS

Exercice 3
On veut rsoudre numriquement le problme du pendule pesant sans
viscosit :
$ p2q
& ptq  Lg sinpptqq, @t P r0, 100s
pP q % p0q 
p1q p0q  1

avec g  9.81 et L  1.
On rappelle le schma d'Euler progressif (vectoriel) pour la rsolution d'un
problme de Cauchy

pS q

" rn 1s
y
y r0s

y rns hff ptn , y rns q,


donn.

Q. 1 Expliquer en dtail comment utiliser le schma d'Euler progressif pour


rsoudre le problme pP q en prcisant entre autres les donnes, les inconnues,
les dimensions des variables, lien entre y rns et la fonction y , ...

On suppose par la suite le fonction DisReg retournant une discrtisation
rgulire de l'intervalle ra, bs en N intervalles dj crite.

Q. 2 (algorithmique) Ecrire une fonction REDEPvec retournant l'ensemble des couples ptn , y rns q calculs par le schma d'Euler progressif.

Q. 3 (algorithmique) Ecrire un algorithme complet de rsolution d pP q
par le schma d'Euler progressif.

Correction
Q. 1 On a dj crit le problme de cauchy associ pP q :
" 1
y ptq

pPC q
avec y ptq 

 f pt, y ptqq, @t P rt0, t0


y p q  y 0 P R2 .
t0

ptq
, t0
p1q ptq
f

 0, T  100, y 0 

rt0, t0
pt, z q

T s  R2

Ts

et

R


z2
 Lg sinpz 1q

Les donnes du problme de Cauchy sont donc les rels t0 , T, le vecteur


y 0 P R2 et la fonction f . L'inconnue est la fonction y : rt0 , t0 T s R2 .
Pour rsoudre numriquement le problme de Cauchy, on utilise le schma
pS q o les donnes sont celles du problme de Cauchy plus le nombre de
discrtisations N P N On peux alors calculer
32

5 EXERCICES CORRIGS

tn , n P v0, N w qui sont les points de la discrtisation rgulire N


intervalles :
tn

 t0

nh,

@n P v0, N w,

avec h 

T
.
N

y rns, n P v0, N w dtermins par le schma pS q. On a y r0s  y 0, puis on


calcule

y rn

Q. 2

s  y rns

hff ptn , y rns q, pour i  0 N

L'algorithme de la fonction

REDEPvec

1

est :

Algorithme 5 Fonction REDEPvec : rsolution d'un problme de Cauchy


par le schma d'Euler progressif
Donnes : f : f : rt0 , t0 T s  Rd Rd fonction d'un
problme de Cauchy (scalaire)
t0
: rel, temps initial
T
: rel 0
0
y
: un vecteur de Rd , donne initiale
N
: un entier non nul (nombre de pas de discrtisation).
Rsultat : t : vecteur de RN 1 , t pnq  tn1 , @n P v1, N 1w
Y
: matrice relle de dimension d  pN 1q, Y p:, nq  y rn1s ,
1:

Fonction rt , Y s REDEPvec( f, t0 , T, y 0 , N

2:
3:
4:
5:
6:
7:
8:

Fin Pour
Fin Fonction

Q. 3
f :

)
t DisRegpt0 , t0 T, N q
h pb  aq{N
Y p:, 1q y 0
Pour n 1 N faire
Y p:, n 1q Y p:, nq h  f pt pnq, Y p:, nqq

Il faut tout d'abord crire la fonction

33

fP

correspondant la fonction

@n P v1, N

1w

5 EXERCICES CORRIGS

Algorithme 6 Fonction fP : fonction f

pP q

Donnes :

t
z
w

Rsultat :
1:

g 9.81
L1
w p1 q z p2 q
w p2q pg {Lq  sinpz p1qq

3:
4:

6:

: un rel
: un vecteur de R2 ,
: un vecteur de R2

Fonction w fP( t, z )

2:

5:

du problme de Cauchy associ

Fin Fonction

L'algorithme de rsolution est :

Algorithme 7 rsolution numrique du problme pP q


1:
2:
3:

4:
5:
6:

t0 0
T 100


0
y
1
rt, Y s REDEPvec(
Plotpt , Y p1, :qq
Plotpt , Y p2, :qq

fP, t0 , T, y 0 , 2000)

Representation de pt, ptqq


Representation de pt, 1ptqq

Exercice 4
la

mthode de Heun est donne par


y rn

s  y rns

h n
f t
2

h n rns
f pt , y q
2

Q. 1 Ecrire la fonction algorithmique

, y rns

hff ptn , y rns q .

permettant de rsoudre un problme de Cauchy (vectoriel par la mthode de Heun en utilisant


au plus 2N valuation de f .

REDHeunVec

Correction
Q. 1

Le schma de Heun peut s'crire sous la forme

y rn

s  y rns

34

h n
pk
2 1

k n2 q

5 EXERCICES CORRIGS
avec

k n1
k n2

L'algorithme de la fonction

 f ptn, y rnsq
 f ptn 1, y rns
REDEPvec

hkk 1 q

s'crit alors :

Algorithme 8 Fonction REDEPvec : rsolution d'un problme de Cauchy

par le schma de Heun


Donnes : f : f : rt0 , t0 T s  Rd Rd fonction d'un
problme de Cauchy (scalaire)
0
t
: rel, temps initial
T
: rel 0
y 0 : un vecteur de Rd , donne initiale
N
: un entier non nul (nombre de pas de discrtisation).
Rsultat : t : vecteur de RN 1 , t pnq  tn1 , @n P v1, N 1w
Y
: matrice relle de dimension d  pN 1q, Y p:, nq  y rn1s ,
1:

Fonction rt , Y s REDHeunVec( f, t0 , T, y 0 , N
t DisRegpt0 , t0 T, N q
h pb  aq{N
Y p:, 1q y 0
Pour n 1 N faire
k 1 f pt pnq, Y p:, nqq
k 2 f pt pn 1q, Y p:, nq hkk 1 q
Y p:, n 1q Y p:, nq ph{2q  pk 1

2:
3:
4:
5:
6:
7:
8:
9:
10:

Fin Pour
Fin Fonction

k 2q

Exercice 5
la

mthode de Runge-Kutta d'ordre 4 est donne par


rns

k1
rns
k2
rns
k3
rns
k4
y rn
y rn

s  y rns

f ptn , y rns q
rns
f ptn h2 , y rns h2 k 1 q
rns
f ptn h2 , y rns h2 k 2 q
rns
f ptn h, y rns hkk 3 q
rns 2kk rns 2kk rns k rns q.
y rns h6 pk 1
2
3
4

h n rns
h  n 1 rns
f pt , y q
f t
,y
hff ptn , y rns q .
2
2







Q. 1 Ecrire la fonction algorithmique REDRK4Vec permettant de rsoudre


un problme de Cauchy (vectoriel par la mthode de Runge-Kutta d'ordre 4.
35

@n P v1, N

1w

5 EXERCICES CORRIGS

Correction
Q. 1

L'algorithme de la fonction

REDRK4Vec

s'crit alors :

Algorithme 9 Fonction REDRK4Vec : rsolution d'un problme de Cau-

chy par le schma de RK4


Donnes : f : f : rt0 , t0 T s  Rd Rd fonction d'un
problme de Cauchy (scalaire)
t0
: rel, temps initial
T
: rel 0
y 0 : un vecteur de Rd , donne initiale
N
: un entier non nul (nombre de pas de discrtisation).
Rsultat : t : vecteur de RN 1 , t pnq  tn1 , @n P v1, N 1w
Y
: matrice relle de dimension d  pN 1q, Y p:, nq  y rn1s ,
1:

Fonction rt , Y s REDRK4Vec( f, t0 , T, y 0 , N
t
p
T, N q
h pb  aq{N
Y p:, 1q y 0
Pour n 1 N faire
k 1 f pt pnq, Y p:, nqq
k 2 f pt pnq h{2, Y p:, nq ph{2qk 1 q
k 3 f pt pnq h{2, Y p:, nq ph{2qk 2 q
k 4 f pt pnq h, Y p:, nq hkk 3 q
Y p:, n 1q Y p:, nq ph{6q  pk 1 2kk 2

2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:

DisReg t0 , t0

Fin Pour
Fin Fonction

2kk 3

k 4q

Exercice 6
La

mthode de Adam-Bashforth d'ordre 4 explicite est donne par

y rn
avec f rns

y rns

h
24

55ff rns  59ff rn1s

37ff rn2s  9ff rn3s .

 f ptn, y rnsq.

Q. 1 Ecrire la fonction algorithmique REDAB4Vec permettant de rsoudre


un problme de Cauchy (vectoriel) par cette mthode.

Correction
36

@n P v1, N

1w

5 EXERCICES CORRIGS

Q. 1

On utilise le schma de Runge-Kutta d'ordre 4 pour initialiser les 4


premires valeurs.
L'algorithme de la fonction REDAB4Vec s'crit alors :

Algorithme 10 Fonction REDAB4Vec : rsolution d'un problme de Cau-

chy par le schma explicite d'Adams-Bashforth d'ordre 4


Donnes : f : f : rt0 , t0 T s  Rd Rd fonction d'un
problme de Cauchy (scalaire)
0
t
: rel, temps initial
T
: rel 0
y 0 : un vecteur de Rd , donne initiale
N
: un entier non nul (nombre de pas de discrtisation).
Rsultat : t : vecteur de RN 1 , t pnq  tn1 , @n P v1, N 1w
Y
: matrice relle de dimension d  pN 1q, Y p:, nq  y rn1s ,
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:

Fonction rt, Y s REDAB4Vec( f, t0 , T, y 0 , N


t DisRegpt0 , t0 T, N q
h pb  aq{N
rtini, Y inis REDRK4Vecpf, t0, t0
Pour n 1 4 faire
Y p:, nq Y ini p:, nq

3  h, y 0 , 3q

Fin Pour

f ptp3q, Y p:, 3qq


f ptp2q, Y p:, 2qq
f ptp1q, Y p:, 1qq
Pour n 4 N faire
k 0 f pt pnq, Y p:, nqq
Y p:, n 1q Y p:, nq ph{24qp55  k 0  59  k 1
k3 k2
k2 k1
k1 k0

k1
k2
k3

37  k 2  9  k 3 q

Fin Pour
Fin Fonction

Exercice 7

On pose f rns  f ptn , y rns q. La mthode de Adams-Bashforth d'ordre


explicite est donne par

y rn

s  y rns

h 
55ff rns  59ff rn1s
24
37

37ff rn2s  9ff rn3s

@n P v1, N

1w

5 EXERCICES CORRIGS
et la

mthode de Adams-Moulton d'ordre 4 implicite par


y rn

avec f rns

s  y rns

h  rn
9ff
24

19ff rns  5ff rn1s

f rn2s

 f ptn, y rnsq.

Q. 1 Ecrire la fonction algorithmique

REDPreCor4Vec permettant de
rsoudre un problme de Cauchy (vectoriel) par une mthode de prdictioncorrection utilisant ces deux schmas.

Correction
Q. 1

On utilise le schma de Runge-Kutta d'ordre 4 pour initialiser les 4


premires valeurs.
Ensuite on utilise comme prdicteur le schma explicte et comme correcteur
le schma implicite. Le principe est donc
 Calcul l'aide du prdicteur :

yrn

s  y rns

h 
55ff rns  59ff rn1s
24

37ff rn2s  9ff rn3s

 Calcul l'aide du correcteur :

rn
f

y rn

 f ptn
 y rns

L'algorithme de la fonction

r sq
 rn 1s
h

1, y
n 1
24

9f

19ff rns  5ff rn1s

REDPreCor4Vec

38

s'crit alors :

f rn2s

5 EXERCICES CORRIGS

Algorithme 11

Fonction REDPreCor4Vec : rsolution d'un problme


de Cauchy par prdiction-correction (Adams-Bashforth/Adams-Moulton)
d'ordre 4
Donnes : f : f : rt0 , t0 T s  Rd Rd fonction d'un
problme de Cauchy (scalaire)
t0
: rel, temps initial
T
: rel 0
0
y
: un vecteur de Rd , donne initiale
N
: un entier non nul (nombre de pas de discrtisation).
Rsultat : t : vecteur de RN 1 , t pnq  tn1 , @n P v1, N 1w
Y
: matrice relle de dimension d  pN 1q, Y p:, nq  y rn1s ,
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:

Fonction rt , Y s REDPreCor4Vec( f, t0 , T, y 0 , N
t DisRegpt0 , t0 T, N q
h pb  aq{N
rtini, Y inis REDRK4Vecpf, t0, t0
Pour n 1 4 faire
Y p:, nq Y ini p:, nq

3  h, y 0 , 3q

Fin Pour

f ptp3q, Y p:, 3qq


f ptp2q, Y p:, 2qq
f ptp1q, Y p:, 1qq
Pour n 4 N faire
k 0 f pt pnq, Y p:, nqq
Y Y p:, nq ph{24q  p55  k 0  59  k 1 37  k 2  9  k 3 q
F f pt pn 1q, Y q
Y p:, n 1q Y p:, nq ph{24q  p9  F 19  k 0  5  k 1 k 2 q
k3 k2
k2 k1
k1 k0

k1
k2
k3

Fin Pour
Fin Fonction

39

@n P v1, N

1w