Vous êtes sur la page 1sur 41

a

Introduction à la résolution des E.D.O.

‚‚‚‚‚‚‚

Support de cours

Ingénieurs Sup'Galilée

Energétique - 1ère année

a. Version beta 0.6 du 3 janvier 2015

par Cuvelier François

Université Paris Nord - Institut Galilée - LAGA


Av. J.-B. Clément 93430 Villetaneuse
email : cuvelier@math.univ-paris13.fr
Table des matières

1 Introduction 3
1.1 Exemples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1.1 Météorologie . . . . . . . . . . . . . . . . . . . . . . . 3
1.1.2 Biologie . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.1.3 Chimie : La réaction de Belousov-Zhabotinsky . . . . . 5
1.1.4 Mécanique . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2 Dénition des E.D.O. . . . . . . . . . . . . . . . . . . . . . . . 8
1.3 Formulation générale : le problème de Cauchy . . . . . . . . . 10
1.4 Dérivation numérique . . . . . . . . . . . . . . . . . . . . . . . 12
1.5 Méthode des diérences nies pour le problème de Cauchy en
dimension d “ 1 . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.6 Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.7 Stabilité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.8 Méthode des diérences nies pour le problème de Cauchy en
dimension d . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2 Méthode à un pas ou à pas séparés 20


2.1 Schéma général . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.2 Convergence . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.3 Stabilité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.4 Consistance . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.5 Ordre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

3 Méthode de Runge-Kutta 21
3.1 Principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.2 Formules explicites de Runge-Kutta d'ordre 2 . . . . . . . . . 23
3.3 Méthodes de Runge-Kutta d'ordre 4 . . . . . . . . . . . . . . 23

4 Méthodes à pas multiples 24


4.1 Exemple : schéma de point milieu . . . . . . . . . . . . . . . . 24
4.2 Le principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.3 Méthodes d'Adams-Bashforth . . . . . . . . . . . . . . . . . . 26
4.4 Méthodes d'Adams-Moulton . . . . . . . . . . . . . . . . . . . 26
4.5 Schéma prédicteur-correcteur . . . . . . . . . . . . . . . . . . 26
4.5.1 Principe . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.5.2 Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.5.3 Comparaison avec Runge-Kutta . . . . . . . . . . . . . 28

5 Exercices corrigés 28
1 INTRODUCTION

1 Introduction

1.1 Exemples
1.1.1 Météorologie
Modèle de Lorentz :
Source Wikipedia Mathématiquement, le couplage de l'atmosphère avec
l'océan est décrit par le système d'équations aux dérivées partielles
couplées de Navier-Stokes de la mécanique des uides. Ce système
d'équations était beaucoup trop compliqué à résoudre numériquement
pour les premiers ordinateurs existant au temps de Lorenz. Celui-ci
eut donc l'idée de chercher un modèle très simplié de ces équations
pour étudier une situation physique particulière : le phénomène de
convection de Rayleigh-Bénard. Il aboutit alors à un système dyna-
mique diérentiel possédant seulement trois degrés de liberté, beau-
coup plus simple à intégrer numériquement que les équations de dé-
part.
$ 1
& x ptq “ ´σxptq ` σyptq
y 1 ptq “ ´xptqyptq ` ρxptq ´ yptq (1.1)
% 1
z ptq “ xptqyptq ´ βzptq
avec σ “ 10, ρ “ 28, β “ 8{3 et les données initales xp0q “ ´8,
yp0q “ 8 et zp0q “ ρ ´ 1.
Dans ces équations, σ ,ρ - respectivement le nombre de Prandtl et le
rapport du nombre de Rayleigh sur un Rayleigh critique - et β sont
trois paramètres réels.
xptq est proportionnel à l'intensité du mouvement de convection, yptq
est proportionnel à la diérence de température entre les courants
ascendants et descendants, et zptq est proportionnel à l'écart du prol
de température vertical par rapport à un prol linéaire (Lorenz 1963
p.135).
La résolution numérique de ce modèle donne

3
1.1 Exemples 1 INTRODUCTION

Modele de Lorentz
20

x(t)
0

−20
0 10 20 30 40 50 60 70 80 90 100
t
50
y(t)

−50
0 10 20 30 40 50 60 70 80 90 100
t

40
z(t)

20

0
0 10 20 30 40 50 60 70 80 90 100
t

Modele de Lorentz

50

45

40

35

30
z(t)

25

20

15
50
10

5 0

0
−50
−20 −15 −10 −5 0 5 10 15 20 y(t)

x(t)

1.1.2 Biologie
Considérons une population y d'animaux dans un milieu ambient où au
plus B animaux peuvent coexister. On suppose que initialement la popula-
tion 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 dépasse la limite B. Cela peut s'exprimer à travers l'équation
ˆ ˙
yptq
1
y ptq “ Cyptq 1 ´ , t ą 0, yp0q “ y0. (1.2)
B
La résolution de cette équation permet de trouver l'évolution de la population
au cours du temps.

4
1.1 Exemples 1 INTRODUCTION

On considère maintenant deux populations, y1 et y2 , où y1 sont les proies


et y2 sont les prédateurs. L'évolution des deux populations est alors décrite
par le système d'équations diérentielles
" 1
y1 ptq “ C1 y1 ptqr1 ´ b1 y1 ptq ´ d2 y2 ptqs,
(1.3)
y21 ptq “ ´C2 y2 ptqr1 ´ d1 y1 ptqs,

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 système d'équations diérentielles est connu comme modèle de Lotka-
Volterra.

1.1.3 Chimie : La réaction de Belousov-Zhabotinsky


Sous certaines conditions, des réactions chimiques peuvent être oscil-
lantes. Par exemple, le mélange 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 mélange
du rouge au bleue avec une période de 7 secondes.
Le modéle associé est nommé modèle du bruxelator basé sur les équa-
tions chimiques :
A ÝÑ X pM1 q
2X ` Y ÝÑ 3X pM2 q
B ` X ÝÑ Y ` C pM3 q
X ÝÑ D pM4 q
On note ki , i P v1, 4w les vitesses de réactions des équations pMi q. On obtient
alors le système diérentiel suivant :
$ 1

’ A ptq “ ´k1 Aptq
& 1
B ptq “ ´k3 BptqXptq

’ X 1 ptq “ k1 Aptq ` k2 X 2 ptqY ptq ´ k3 BptqXptq ´ k4 Xptq
Y ptq “ ´k2 X 2 ptqY ptq ` k3 BptqXptq
% 1

Exemple 1 Dans cet exemple, on étudie le problème simplié du Bruxela-


tor. Lorsque les réactions de (??) ont des constantes de réactions 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é à
résoudre l'E.D.O. @t Ps0, T s,
"
X 1 ptq “ 1 ` αX 2 ptqY ptq ´ pβ ` 1qXptq
(1.4)
Y 1 ptq “ ´αX 2 ptqY ptq ` βXptq

Par exemple, avec le jeu de données α “ 1, β “ 3.5 et les contitions initiales


Xp0q “ 3 et Y p0q “ 2 on obtient des oscillations :

5
1.1 Exemples 1 INTRODUCTION

Brusselator simplifie − Concentrations


6
A(t)
B(t)

0
0 5 10 15 20 25 30 35 40
t

Brusselator simplifie
6

4
B(t)

0
0 1 2 3 4 5 6
A(t) ‚

1.1.4 Mécanique
Le pendule pesant le plus simple est constitué d'un petit objet pesant
accroché à une tige de masse négligeable devant celle de l'objet. L'autre
extrémité 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'accélération de la pesanteur. L'équation diérentielle est
donnée par
g
θ2 ptq ` sinpθptqq “ 0. (1.5)
L
Si le pendule est soumis à un frottement visqueux de coecient ν , l'ex-
pression de l'accélération angulaire devient :
g ν 1
θ2 ptq ` sinpθptqq ` θ ptq “ 0. (1.6)
L mL2
Exemple 2 Dans cet exemple, on étudie le problème du pendule pesant sans
viscosité décrit au paragraphe 1.1.4. On est donc ramené à résoudre l'E.D.O.
g
θ2 ptq ` sinpθptqq “ 0, @t Ps0, T s, (1.7)
L
avec les conditions initiales
position angulaire initiale,
"
θp0q “ θ0 ,
(1.8)
θ1 p0q “ θ0 , vitesse angulaire initiale,
Par exemple, avec le jeu de données g
L “3 et les conditions initiales θ0 “ 5π
6
et θ01 “ 0 on obtient
Pendule pesant − valeur angulaire
3

1
θ(t)

−1

−2

−3
0 2 4 6 8 10 12 14 16 18 20
t

Pendule pesant − vitesse angulaire


4

2
θ’(t)

−2

−4
0 2 4 6 8 10 12 14 16 18 20
t

7
1.2 Dénition des E.D.O. 1 INTRODUCTION

Pendule pesant
4

1
θ’(t)

−1

−2

−3

−4
−3 −2 −1 0 1 2 3
θ(t)

1.2 Dénition des E.D.O.


Soit une fonction y dénie sur un intervalle de R à valeurs dans Rm de
classe C p (continûment dérivable d'ordre p) et on note y ppq la dérivée d'ordre
p de y .

Dénition 1.1 On appelle équation diérentielle ordinaire (E.D.O.)


d'ordre p une équation de la forme :
Fpt, y ptq, y p1q ptq, y p2q ptq, . . . , y ppq ptqq “ 0.

Dénition 1.2 On appelle forme canonique d'une E.D.O. une expres-


sion du type :
y ppq ptq “ G pt, y ptq, y p1q ptq, y p2q ptq, . . . , y pp´1q ptqq. (1.9)

Toute équation diérentielle d'ordre p sous forme canonique peut s'écrire
comme un système de p équations diérentielles d'ordre 1. En eet, en in-
troduisant p fonctions dénies par
$ r1s

’ z ptq “ y p0q ptq
& z r2s ptq “ y p1q ptq

..


’ .
% rps
z ptq “ y pp´1q ptq

8
1.2 Dénition des E.D.O. 1 INTRODUCTION

on obtient $
dzz r1s


’ dt ptq “ y p1q ptq “ z r2s ptq,
dzz r2s
“ y p2q ptq “ z r3s ptq,

dt ptq
&
..


’ .
dzz rps

“ y ppq ptq.
%
dt ptq
Or
y ppq ptq “ G pt, y ptq, y p1q ptq, y p2q ptq, . . . , y pp´1q ptqq
“ G pt, z r1s ptq, z r2s ptq, . . . , z rps ptqq.
On obtient alors le système diérentiel d'ordre 1 suivant :
$ r1s
dzz r2s
dt ptq “ z ptq,


’ r2s
& dzz ptq “ z r3s ptq,

dt
.. (1.10)


’ .
% dzz rps

dt ptq “ G pt, z r1s ptq, z r2s ptq, . . . , z rps ptqq.
Exemple
ˆ 1˙(suite) Pour obtenir la forme canonique de (1.4), on pose
y1 ptq
y ptq “ avec y1 ptq “ Xptq et y2 ptq “ Y ptq. On obtient alors
y2 ptq
˜ ¸
p1q ˆ ˙
p1q y1 ptq X p1q ptq
y ptq “ p1q “
y2 ptq Y p1q ptq
ˆ ˙
1 ` αX 2 ptqY ptq ´ pβ ` 1qXptq

´αX 2 ptqY ptq ` βXptq
ˆ ˙
1 ` αy12 ptqy2 ptq ´ pβ ` 1qy1 ptq

´αy12 ptqy2 ptq ` βy1 ptq
Avec p “ 1 et
$
& G b : R` ˆ R2 ÝÑ ˆR2 ˙
1 ` αz12 z2 ´ pβ ` 1qz1
pt, z q ÞÝÑ
´αz12 z2 ` βz1
%

la forme canonique est donnée par


y p1q ptq “ G b pt, y ptqq. (1.11)

Exemple 2 (suite) Pour obtenir la forme canonique de (1.7),on prend
p“2 et "
Gp : R` ˆ R ˆ R ÝÑ R
.
pt, u, vq ÞÝÑ ´ Lg sinpuq
La forme canonique est alors donnée par
θp2q ptq “ Gp pt, θptq, θp1q ptqq. (1.12)

9
1.3 Formulation générale : le problème de Cauchy 1 INTRODUCTION

1.3 Formulation générale : le problème de Cauchy


Dénition 1.3 - problème de Cauchy
Soit f l'application continue dénie par

f : rt0 , t0 ` T s ˆ Rd ÝÑ Rd
pt, y q ÞÝÑ f pt, y q

avec T Ps0, `8s. Le problème de Cauchy revient à chercher une


fonction y dénie par

y : rt0 , t0 ` T s ÝÑ Rd
t ÞÝÑ y ptq

continue et dérivable, telle que

y 1 ptq “ f pt, y ptqq, @t P rt0 , t0 ` T s (1.13)


y pt0 q “ y r0s P Rd . (1.14)

On supposera qu'une telle solution existe.


Exemple 1.4 ‚ Un problème de Cauchy peut être linéaire, comme par
exemple :
si t ą 0
"
y 1 ptq “ 3yptq ´ 3t,
yp0q “ 1
pour lequel f pt, vq “ 3v´3t et dont la solution est yptq “ p1´1{3qe3t `
t ` 1{3.
‚ On peut avoir aussi des problèmes non-linéaires, comme :
si t ą 0
" a
y 1 ptq “ 3 yptq,
yp0q “ 0

les trois solutions suivantes :


?
avec f pt, vq “ 3 v.
aCe problème admeta
yptq “ 0, yptq “ 8t {27 et yptq “ ´ 8t3 {27.
3

‚ Le problème suivant :
si t ą 0
"
y 1 ptq “ 1 ` y 2 ptq,
yp0q “ 0
admet comme solution la fonction yptq “ tanptq avec 0 ă t ă π
2 ,
c'est-à-dire une solution locale. ‚

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


alors directemnt le problème de Cauchy associé : chercher une fonction y
dénie par
y : r0, T s ÝÑ R2
t ÞÝÑ y ptq

10
1.3 Formulation générale : le problème de Cauchy 1 INTRODUCTION

continue et dérivable, telle que


y 1 ptq “ f pt, y ptqq, @t P rt0 , t0 ` T s (1.15)
y p0q “ y 0 P R2 (1.16)
ˆ ˙
3
avec f ” G b et y p0q “ . ‚
2

Exemple 2 (suite) La forme canonique (1.12) est d'ordre 2. On se ra-


mène à un système diérentiel du 1er ordre en posant :
ˆ ˙ ˆ ˙
y1 ptq θptq
y ptq “ “
y2 ptq θp1q ptq

On a alors, en dérivant l'expression précédente :


˜ ¸ ˆ
p1q ˙
p1q y1 ptq θp1q ptq
y ptq “ p1q “
y2 ptq θp2q ptq
ˆ ˙
θp1q ptq

Gp pt, θptq, θp1q ptqq
ˆ ˙
y2 ptq
“ .
Gp pt, y1 ptq, y2 ptqq

On pose
f p : r0, T s ˆ R2 ÝÑ Rˆ
2
˙
z2
pt, z q ÞÝÑ .
Gp pt, z1 , z2 q
Le problème de Cauchy revient à chercher une fonction y dénie par
y : r0, T s ÝÑ R2
t ÞÝÑ y ptq

continue et dérivable, telle que


y 1 ptq “ f p pt, y ptqq, @t P r0, T s (1.17)
y p0q “ y 0 P R2 (1.18)
ˆ ˙
θ0
avec y p0q “ . ‚
θ01

Dans de nombreux cas, la variable t représente le temps et les compo-


santes du vecteur y , une famille de paramètres décrivant l'état d'un système
matériel donné. L'équation diérentielle (1.17) traduit physiquement la loi
d'évolution du système considéré.
En général, il est impossible de trouver des solutions exactes à ces pro-
blèmes. Il faut alors construire des méthodes numériques pour obtenir des

11
1.4 Dérivation numérique 1 INTRODUCTION

solutions approchées. Toutefois, il faudra vérier l'existence et l'unicité de la


solution. Pour cela, on a le
" 1
y ptq “ f pt, y ptqq
pPCq
y pt0 q “ y 0 P Rm .
avec f : U ÝÑ Rm , U un ouvert de R ˆ Rm et pt0 , y r0s q P U .
Théorème 1.5 - Cauchy-Lipschitz
On suppose que la fonction f est continue sur U et quelle est locale-
ment lipschitzienne en y : @pt, y q P U, DW voisinage t , DV voisinage y ,
DL ą 0 tels que

u, v q P V 2 , }ff ps, u q ´ f ps, v q} ď L }u


@s P W, @pu u ´ v} (1.19)

Sous ces hypothèses le problème de Cauchy pPCq admet une unique


solution.

Bff
Proposition 1.6 Si est continue et bornée, alors f satisfait la
pt, y q
Byy
condition de Lipschitz (1.19) en y . ‚

1.4 Dérivation numérique


Soit y : ra, bs ÝÑ R, de classe C 1 et t P ra, bs. La dérivée y 1 ptq est donnée
par

ypt ` hq ´ yptq
y 1 ptq “ lim
hÑ0` h
yptq ´ ypt ´ hq
“ lim
hÑ0 ` h
ypt ` hq ´ ypt ´ hq
“ lim
hÑ0 2h

Dénition 1.7
Soit N P N˚ . On appelle discrétisation régulière de ra, bs à N pas
ou N ` 1 points l'ensemble des points a ` nh, n P v0, N w où le pas h
est donné par h “ pb ´ aq{N.

Soient ttn unPv0,N w une discrétisation régulière de ra, bs et pDyqn une ap-
proximation de y 1 ptn q. On appelle
‚ diérence nie progressive l'approximation

yptn`1 q ´ yptn q
pDyqPn “ , @n P v0, N ´ 1w (1.20)
h

12
1.4 Dérivation numérique 1 INTRODUCTION

‚ diérence nie rétrograde l'approximation


yptn q ´ yptn´1 q
pDyqR
n “ , @n P v1, N w (1.21)
h
‚ diérence nie centrée l'approximation
yptn`1 q ´ yptn´1 q
pDyqC
n “ , @n P v1, N ´ 1w (1.22)
2h
Pour calculer l'erreur commise par ces approximations, on rappelle le
developpement de Taylor
Proposition 1.8 - Développement de Taylor
Soit f une application f : ra, bs ÝÑ R. Si f P C r`1 pra, bsq alors
‚ @px, yq P ra, bs2 il existe un ξ Psx, yr tel que
r
ÿ f pkq pyq f pr`1q pξq
f pxq “ f pyq` px´yqk ` px´yqr`1 (1.23)
k“0
k! pr ` 1q!

‚ @x P ra, bs, @h P R˚ vériant x ` h P ra, bs, il existe ξ P


s minpx, x ` hq, maxpx, x ` hqr tel quel
r
ÿ f pkq pxq k f pr`1q pξq r`1
f px ` hq “ f pxq ` h ` h (1.24)
k“0
k! pr ` 1q!

Dénition 1.9
Soit g une fonction. On dit que g se comporte comme un grand O
de hq quand h tend vers 0 si et seulement si il existe H ą 0 et C ą 0
tel que
|gphq| ď Chq , @h Ps ´ H, Hr.
On note alors gphq “ Ophq q.

Avec cette notation le développement de Taylor (1.24) s'écrit aussi


r
ÿ f pkq pxq k
f px ` hq “ f pxq ` h ` Ophr`1 q. (1.25)
k“0
k!

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


1. Montrer qu'il existe ηPn Pstn , tn`1 r et ηRn Pstn´1 , tn r tels que
h p2q n
pDyqPn “ y p1q ptn q ` y pηP q
2
et
h p2q n
pDyqR p1q n
n “ y pt q ´ y pηR q
2

13
1.4 Dérivation numérique 1 INTRODUCTION

2. En déduire que
1
|y p1q ptn q ´ pDyqPn | ď C1 h, avec C1 “ max |y p2q ptq|
2 tPrtn ,tn`1 s
et
1
|y 1 ptn q ´ pDyqR
n | ď C2 h, avec C2 “ max |y p2q ptq|
2 tPrtn´1 ,tn s

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


1. Montrer qu'il existe η1n Pstn , tn`1 r et η2n Pstn´1 , tn r tels que
h2 p3q n
pDyqC p1q n
n “ y pt q ´ py pη1 q ` y p3q pη2n qq
12
2. En déduire que
1
|y p1q ptn q ´ pDyqC 2
n | ď Eh , avec E “ max |y p3q ptq|
6 tPrtn´1 ,tn`1 s

Dénition 1.10 La diérence |y1 ptn q ´ pDyqn | est appelée erreur de tron-
cature au point tn . On dira que |y1 ptn q ´ pDyqn | est d'ordre p ą 0 si il
existe une constance C ą 0 telle que
|y 1 ptn q ´ pDyqn | ď Chp ðñ |y 1 ptn q ´ pDyqn | “ Ophp q.

Les erreurs de troncature des diérences nies progressive et rétrograde


sont d'ordre 1 et l'erreur de troncature de la diérence nie centrée est d'ordre
2.
On a démontré que
n`1 q ´ yptn q ˇ
ˇ ˇ
ˇy pt q ´ ypt (1.26)
ˇ 1 n
ˇ “ Ophq, @n P v0, N ´ 1w,
ˇ h ˇ
n n´1 q ˇ
ˇ ˇ
ˇy pt q ´ ypt q ´ ypt (1.27)
ˇ 1 n
ˇ “ Ophq, @n P v1, N w,
ˇ h ˇ
n`1 q ´ yptn´1 q ˇ
ˇ ˇ
ˇy pt q ´ ypt ˇ “ Oph2 q, @n P v1, N ´ 1w. (1.28)
ˇ 1 n
ˇ 2h ˇ

Exercice 1.2 Soit f P C 2 pra, bs; Rq. On note tn , n P v0, N w, une discrétisa-
tion régulière de ra, bs de pas h. On note F P RN `1 le vecteur déni par
F n “ f ptn q.
Q. 1 1. Connaissant uniquement le vecteur F , déterminer un vecteur
V P RN `1 vériant
V n “ f 1 ptn q ` Ophq.

14
1.5 Méthode des diérences nies pour le problème de Cauchy en
dimension d “ 1 1 INTRODUCTION

2. Ecrire une fonction Matlab permettant, à partir du vecteur F et de la


discrétisation régulière, de calculer le vecteur V précédant. ‚

Q. 2 1. Connaissant uniquement le vecteur F , déterminer un vecteur


V P RN `1 vériant
W n “ f 1 ptn q ` Oph2 q.
2. Ecrire une fonction Matlab permettant, à partir du vecteur F et de la
discrétisation régulière, de calculer le vecteur W précédant. ‚

1.5 Méthode des diérences nies pour le problème de Cau-


chy en dimension d “ 1
On veut résoudre numériquement le problème de Cauchy (1.13)-(1.14) en
utilisant les diérences nies progressive, rétrograde ou centrée.
On note tn “ t0 ` nh, n P t0, . . . , N u une discrétisation régulière de
rt0 , t0 ` T s avec h “ T {N le pas de temps. On a
y 1 ptq “ f pt, yptqq, @t P rt0 , t0 ` T s
ce qui entraine
y 1 ptn q “ f ptn , yptn qq, @n P v0, N w. (1.29)
En utilisant la formule des diérences nies progressive, on a @n P v0, N ´ 1w,
Dηn P rtn , tn`1 s tels que
yptn`1 q ´ yptn q h
“ f ptn , yptn qq ` y 2 pηn q
h 2
ou encore
h2 2
yptn`1 q “ yptn q ` hf ptn , yptn qq ` y pηn q.
2
On note y rns une approximation de yptn q pour n P v0, N w.
La méthode d'Euler progressive est donnée par le schéma
" rn`1s
y “ y rns ` hf ptn , y rns q, @n P v0, N ´ 1w
(1.30)
y r0s “ ypt0 q
Ce schéma est explicite, car il permet le calcul direct de y rn`1s en fonction
de y rns .
De la même manière, la méthode d'Euler régressive est donnée par le
schéma
" rn`1s
y “ y rns ` hf ptn`1 , y rn`1s q, @n P v0, N ´ 1w
(1.31)
y r0s “ ypt0 q
Ce schéma est implicite, car y rn`1s est dénit implicitement en fonction de
y rns . Il faut donc résoudre à chaque pas de temps une équation non-linéaire
en utilisant des méthodes de point xe par exemple.

15
1.6 Exemple 1 INTRODUCTION

Exercice 1.3 On veut résoudre numériquement le problème pPq suivant :


trouver y telle que
"
y 1 ptq “ cosptq ` 1, @t P r0, 4πs
pPq
yp0q “ 0.

dont la solution exacte est yptq “ sinptq ` t.


On rappelle le schéma d'Euler progressif pour la résolution d'un problème
de Cauchy "
y rn`1s “ y rns ` hf ptn , y rns q,
pSq
y r0s donné.
Q. 1 Expliquer en détail comment utiliser le schéma d'Euler progressif pour
résoudre le problème pPq en précisant entre autres les données, les inconnues,
les dimensions des variables, lien entre yrns et la fonction y, ... ‚

Q. 2 (algorithmique) Soit a, b, a ă b deux réels. Ecrire une fonction Dis-


Reg retournant une discrétisation de l'intervalle ra; bs avec N pas (constant)
de discrétisation. ‚

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


des couples ptn , yrns q calculés par le schéma d'Euler progressif. ‚

Q. 4 (algorithmique) Ecrire un algorithme complet de résolution de pPq


par le schéma d'Euler progressif. ‚

1.6 Exemple
Soit l'E.D.O. suivante
y ptq “ yptq ` t2 y 2 ptq, pour t P r0, 5s,
" 1

yp0q “ ´1

de solution exacte
yptq “ 1{pe´t ´ t2 ` 2t ´ 2q.
Les résolutions numériques avec les schémas d'Euler progressif et rétrograde
sont représentés en gure 1.

1.7 Stabilité
Pour illustrer la notion de stabilié (absolue) d'un schéma numérique, on
étudie le problème modèle suivant :
Soit λ ă 0, Soit l'E.D.O. suivante

y ptq “ λyptq, pour t P R` ,


" 1

yp0q “ y0

16
1.7 Stabilité 1 INTRODUCTION

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


0

−0.2

exacte
−0.4
Euler Progressive
Euler Régressive
−0.6

−0.8

−1

−1.2

−1.4

−1.6

−1.8
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
t

Figure 1  résolutions avec Euler progressif et rétrograde

où λ ă 0 est donné. La solution exacte est

yptq “ y0 eλt .

En particulier, on a
lim yptq “ 0
tÑ`8

Dénition 1.11 On pose tn “ nh, où le pas de temps h ą 0 est donné et


une approximation de yptn q par un schéma donné. On dit alors que le
y rns
schéma associé à ce problème est absolument stable si
lim y rns “ 0.
nÑ`8

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


le schéma d'Euler progressif et h “ 20
19 « 1.05. Par contre, avec h “ 21 «
20

0.95, le même schéma est stable (voir gure3).


Pour comprendre ce phénomène, on écrit le schéma d'Euler progressif :

y rn`1s “ y rns ` hf ptn , y rns q “ y rns ` λhy rns “ p1 ` λhqy rns

d'où
y rns “ p1 ` λhqn y r0s , @n ě 0.

17
1.7 Stabilité 1 INTRODUCTION

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


8

exacte
6 Euler Progressive
Euler Regressive

−2

−4

−6

−8
0 2 4 6 8 10 12 14 16 18 20
t

Figure 2  Instabilité Euler progressif - Stabilité Euler rétrograde

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


1
exacte
Euler Progressive
0.8 Euler Regressive

0.6

0.4

0.2

−0.2

−0.4

−0.6

−0.8

−1
0 2 4 6 8 10 12 14 16 18 20
t

Figure 3  Stabilité Euler progressif - Stabilité Euler rétrograde

18
1.8 Méthode des diérences nies pour le problème de Cauchy en
dimension d 1 INTRODUCTION

On remarque alors que si |1 ` λh| ą 1 alors limnÑ`8 |y rns | “ `8, le schéma


d'Euler progressif est alors instable. Pour assurer la stabilité, il faut ici im-
poser une condition sur h :
2
|1 ` λh| ă 1 d'où 0 ă h ă ´ .
λ
On dit alors que le schéma d'Euler progressif est conditionnellement stable.
De la même manière, pour le schéma d'Euler rétrograde on obtient
ˆ ˙
rn`1s 1
y “ y rns “
1 ´ λh

et donc ˆ ˙n
1
y rns “ y r0s , @n ě 0.
1 ´ λh
Dans ce cas limnÑ`8 y rns “ 0 sans condition : on dit que le schéma d'Euler
rétrograde est inconditionnellement stable.

1.8 Méthode des diérences nies pour le problème de Cau-


chy en dimension d
On veut résoudre le problème de Cauchy :
" 1
y ptq “ f pt, y ptqq, @t P rt0 , t0 ` T s
pPCq
y pt0 q “ y 0 P Rd .

La fonction f étant dénie par

f : rt0 , t0 ` T s ˆ Rd ÝÑ Rd ¨ ˛
f 1 pt, z q
pt, z q Þ Ñ w “ f pt, z q “ ˝ ... ‚
˚ ‹
Ý
f d pt, z q

En notant ¨ ˛ ¨ ˛
y1 ptq f1 pt, y ptqq
y ptq “ ˝ ... ‚ et f pt, y ptqq “ ˝ ..
.
˚ ‹ ˚ ‹

yd ptq fd pt, y ptqq
le problème de Cauchy peut aussi s'écrire sous la forme
$ 1
’ y1 ptq “ f1 pt, y ptqq,
& ..


.
’ y 1 ptq “ fd pt, y ptqq, @t P rt0 , t0 ` T s
% d


avec y pt0 q “ y 0 P Rd .

19
2 MÉTHODE À UN PAS OU À PAS SÉPARÉS

Après discrétisation et utilisation de la formule des diérences nies progres-


sive on obtient $
rn`1s rns

’ y1 “ y1 ` hf1 ptn , y rns q
& ..


.
’ y rn`1s “ y rns ` hf ptn , y rns q

’ d d d
% avec

y pt0 q “ y P Rd .
0
¨ rns ˛
y1
˚ .. ‹
où y rns “ ˝ . ‚ et y rns q « y ptn q.
rns
yd
On obtient alors la méthode d'Euler progressive sous forme vectorielle :
" rn`1s
y “ y rns ` hff ptn , y rns q, @n P v0, N ´ 1w
(1.32)
y r0s “ y pt0 q

Ce schéma est explicite, car il permet le calcul direct de y rn`1s en fonction


de y rns .
De la même manière, la méthode d'Euler régressive sous forme vecto-
rielle est donnée par le schéma
" rn`1s
y “ y rns ` hff ptn`1 , y rn`1s q, @n P v0, N ´ 1w
(1.33)
y r0s “ y pt0 q

Ce schéma est implicite, car y rn`1s est dénit implicitement en fonction de


y rns .

2 Méthode à un pas ou à pas séparés

Pour simplier on prend h “ hn (pas constant)

2.1 Schéma général


Les méthodes à un pas utilisent la formule générale :

Φptn , y rns , hq
y rn`1s “ y rns ` hΦ (2.1)

Pour la méthode d'Euler, la fonction Φ pt, y , hq est f pt, y q.

2.2 Convergence
La méthode converge sur l'intervalle rt0 , t0 ` T s si, pour la suite des y rns
calculés, l'écart maximum avec la solution exacte diminue quand le pas h
diminue : › ›
› rns n ›
lim max › y y
´ pt q› “ 0
T
h“ N Ñ0 nPt0,...,N u

20
2.3 Stabilité 3 MÉTHODE DE RUNGE-KUTTA

2.3 Stabilité
La méthode est stable si une petite perturbation sur y r0s ou Φ n'entraîne
qu'une petite perturbation sur la solution approchée, et cela quel que soit le
pas h.
Souvent , lorsque la méthode n'est pas stable, l'amplication des erreurs
est exponentielle et, au bout de quelques calculs, les résultats entraînent des
dépassements de capacité.

Théorème 2.1 Si Φ pt, y , hq vérie la condition de Lipschitz en y alors la


méthode est stable. ‚

2.4 Consistance
Le schéma de calcul (2.1) est consistant avec l'équation diérentielle si
› n`1
q ´ y ptn q

› y pt n n

lim max › › Φ y
´ pt , pt q, hq›› “ 0
T
h“ N Ñ0 n h

Cela signie que le schéma doit être une approximation vraisemblable, bien
construite.

Théorème 2.2 Le schéma est consistant si Φpt, y, 0q “ f pt, yq. ‚

Théorème 2.3 Si la méthode est stable et consistante, alors elle converge


pour n'importe quelle valeur initiale. ‚

2.5 Ordre
La méthode itérative est d'ordre p si pour toute solution :
› n`1
q ´ y ptn q

› y pt ›
max › › ´ Φ pt , y pt q, hq›› ď Chp
n n
n h

3 Méthode de Runge-Kutta

3.1 Principe
Pour simplier, on suppose hn “ h. L'idée fondamentale des méthodes
de Runge-Kutta est d'intégrer l'équation (??) sur rtn , tn`1 s et de calculer :
ż tn`1
n`1 n
y pt q “ y pt q ` f pt, y ptqqdt,
tn

en utilisant une formule d'intégration numérique à q points intermédiaires


tn,i`1 “ tn ` hi pour calculer l'intégrale.

21
3.1 Principe 3 MÉTHODE DE RUNGE-KUTTA

La fonction Φ associée à une méthode de Runge-Kutta à q évaluations


de f peut s'écrire sous la forme :
q
ÿ
Φ pt, y , hq “ cik ris pt, y , hq
i“1

avec
˜ q
¸
ÿ
k ris pt, y , hq “ f t ` hai , y ` h bi,j k rjs pt, y , hq , 1 ď i ď q
j“1

que l'on peut représenter sous la forme d'un tableau dit tableau de But-
cher :
a B
(3.1)
ct
avec B “ pbi,j qi,jPv1,qw P Mq,q pRq, a “ pai qiPv1,qw P Rq et c “ pci qiPv1,qw P Rq

Remarque 3.1 1. Une méthode de Runge-Kutta est d'ordre 0 si


q
ÿ
ai “ bij .
j“1

2. Une méthode de Runge-Kutta est d'ordre 1 (et donc consistante) si


elle est d'ordre 0 et si q ÿ
ci “ 1.
i“1

3. Une méthode de Runge-Kutta est d'ordre 2 si elle est d'ordre 1 et si


q
ÿ
ci ai “ 1{2.
i“1

4. Une méthode de Runge-Kutta est explicite si la matrice B est trian-


gulaire inférieure à diagonale nulle :
@pi, jq P v1, qw, j ě i, bij “ 0.

5. Les méthodes de Runge-Kutta explicites sont stables si f est contrac-


tante en y. ‚

22
3.2 Formules explicites de Runge-Kutta
3 MÉTHODE
d'ordre 2 DE RUNGE-KUTTA

3.2 Formules explicites de Runge-Kutta d'ordre 2


0 00
1

1
2α0 (3.2)
1´α α
h h
Φ pt, y , hq “ p1 ´ αqff pt, y q ` αff pt `
,y ` f pt, y qq
2α 2α
‚ Avec α “ 21 , on obtient la méthode de Heun :
h h ´ ¯
y rn`1s “ y rns ` f ptn , y rns q ` f tn`1 , y rns ` hff ptn , y rns q .
2 2
‚ Avec α “ 1, on obtient la méthode d'Euler modiée ou méthode
du point milieu :
ˆ ˙
rn`1s rns n h rns h n rns
y “ y ` hff t ` , y ` f pt , y q .
2 2
Exercice 3.1 la méthode de Heun est donnée par
h h ´ ¯
y rn`1s “ y rns ` f ptn , y rns q ` f tn`1 , y rns ` hff ptn , y rns q .
2 2
Q. 1 Ecrire la fonction algorithmique REDHeunVec permettant de ré-
soudre un problème de Cauchy (vectoriel par la méthode de Heun en utilisant
au plus 2N évaluation de f . ‚
Pour des valeurs plus élevées de p, ces méthodes sont plus précises que
la méthode d'Euler, et d'autant plus que p augmente. On se limite dans la
pratique à p “ 4. Cette méthode est connue sous le nom de Runge-Kutta 4.
Remarquons que dans ces méthodes le pas peut être adapté à chaque étape.

3.3 Méthodes de Runge-Kutta d'ordre 4


La méthode explicite la plus utilisée est donnée 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 schéma explicite de Runge-Kutta d'ordre 4 :
rns
k1 “ f ptn , y rns q
rns rns
k2 “ f ptn ` h2 , y rns ` h2 k 1 q
k3
rns

rns
f ptn ` h2 , y rns ` h2 k 2 q (3.4)
rns rns
k4 “ f ptn ` h, y rns ` hkk 3 q
rns rns rns rns
y rn`1s “ y rns ` h6 pkk 1 ` 2kk 2 ` 2kk 3 ` k 4 q.

23
4 MÉTHODES À PAS MULTIPLES

Exercice 3.2 la méthode de Runge-Kutta d'ordre 4 est donnée par


rns
k1 f ptn , y rns q

rns rns
k2 f ptn ` h2 , y rns ` h2 k 1 q

rns rns
k3 f ptn ` h2 , y rns ` h2 k 2 q

rns rns
k4 f ptn ` h, y rns ` hkk 3 q

rns rns rns rns
y rn`1s y rns ` h6 pkk 1 ` 2kk 2 ` 2kk 3 ` k 4 q.

h h ´ ¯
y rn`1s “ y rns ` f ptn , y rns q ` f tn`1 , y rns ` hff ptn , y rns q .
2 2
Q. 1 Ecrire la fonction algorithmique REDRK4Vec permettant de résoudre
un problème de Cauchy (vectoriel par la méthode de Runge-Kutta d'ordre 4.‚

4 Méthodes à pas multiples

4.1 Exemple : schéma de point milieu


Considérons la méthode à deux pas dénie par la récurrence :

y rn`1s “ y rn´1s ` 2hff ptn , y rns q. (4.1)

Cette méthode est d'ordre 2.


De manière évidente, ces méthodes à pas multiples posent des problèmes
de démarrage : ici, on ne peut calculer directement y r1s . Les premières valeurs
doivent être calculées par un autre schéma.

4.2 Le principe
Dans tous les schémas présentés, la valeur de y rn`1s était déterminée
à chaque pas de façon explicite en fonction uniquement du point y rns . On
peut tenir compte de plusieurs valeurs y ris précédemment calculées et ainsi
travailler sur un nombre de pas multiples.
Les méthodes à pas multiples s'écrivent sous la forme générale :
k
ÿ k
ÿ
αiy rn`is “ h βif ptn`i , y rn`is q (4.2)
i“0 i“0

où k est le nombre de pas, αk ‰ 0 et |α0 | ` |β0 | ą 0.


Remarque 4.1 Si βk “ 0 le schéma est explicite, sinon il est implicite. ‚

Dénition 4.2 (ordre) Soit y la solution du problème de Cauchy (1.13)-


1.14 et y rn`ks la valeur obtenue par le schéma (4.2) en prenant y rn`is “
y ptn`i q, @i P v0, k ´ 1w. Alors, l'erreur locale est

τ pn ` kq “ y ptn`k q ´ y rn`ks .

24
4.2 Le principe 4 MÉTHODES À PAS MULTIPLES

Le schéma (4.2) est d'ordre p si


τ pn ` kq “ Ophp`1 q.

Théorème 4.3 Un schéma à pas multiple de type (4.2) est d'ordre p si et


seulement si
k
ÿ
αi “ 0,
i“0
k
ÿ k
ÿ
q
αi i “ q βi iq´1 , @q P v1, pw.
i“0 i“0

k
Propriété 4.4 (Stabilité) Soit P le polynôme déni par P pλq “
ÿ
αi λi .

Une méthode à pas multiple est stable, si


i“0

1. toutes les racines de P sont de module inférieur ou égal à 1,


2. une racine de module égal à 1 est une racine simple de P. ‚

Pour le schéma (4.1), on a k “ 2 et


$ $
& α0 “ ´1 & β0 “ 0
α1 “ 0 β1 “ 2
α2 “ 1 β2 “ 0
% %

On obtient donc P pλq “ ´1 ` λ2 “ pλ ` 1qpλ ´ 1q : le schéma (4.1) est stable.

Théorème 4.5 (Convergence) On suppose que les k valeurs initiales vé-


rient, › ›
› i
›y pt q ´ y ris › ď C0 hp , @i P v0, k ´ 1w.

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


› ›
› n
y
› pt q ´ y › ď Chp , @n P v0, N w.
rns ›

Pour obtenir, à partir d'un schéma à k pas, un schéma d'ordre p il faut


obligatoirement initialiser les k premières valeurs à l'aide d'un schéma d'ordre
p au moins.

25
4.3 Méthodes d'Adams-Bashforth 4 MÉTHODES À PAS MULTIPLES

4.3 Méthodes d'Adams-Bashforth


On note f rns “ f ptn , y rns q

h ´ rns ¯
y rn`1s “ y rns ` 3ff ´ f rn´1s . (4.3)
2
h ´ ¯
y rn`1s “ y rns ` 23ff rns ´ 16ff rn´1s ` 5ff rn´2s . (4.4)
12
h ´ ¯
y rn`1s “ y rns ` 55ff rns ´ 59ff rn´1s ` 37ff rn´2s ´ 9ff rn´3s . (4.5)
24
Ces schémas sont explicites et leur ordre correspond au nombre de pas.
Exercice 4.1 La méthode de Adam-Bashforth d'ordre 4 explicite est
donnée par
´ ¯
h
y rn`1s “ y rns ` 24 55ff rns ´ 59ff rn´1s ` 37ff rn´2s ´ 9ff rn´3s .

avec f rns “ f ptn , y rns q.


Q. 1 Ecrire la fonction algorithmique REDAB4Vec permettant de résoudre
un problème de Cauchy (vectoriel) par cette méthode. ‚

4.4 Méthodes d'Adams-Moulton

h ´ rn`1s ¯
y rn`1s “ y rns ` f ` f rns . (4.6)
2
h ´ rn`1s ¯
y rn`1s “ y rns ` 5ff ` 8ff rns ´ f rn´1s . (4.7)
12
h ´ ¯
y rn`1s “ y rns ` 9ff rn`1s ` 19ff rns ´ 5ff rn´1s ` f rn´2s . (4.8)
24
Ces schémas sont implicites et leur ordre correspond au nombre de pas plus
un.

4.5 Schéma prédicteur-correcteur


4.5.1 Principe
Il s'agit là d'une des méthodes les plus employées. Une méthode de
prédiction-correction procède en deux temps : on fournit explicitement une
valeur approchée de la solution au nième pas (soit y rn`1s ), puis on calcule
rn`1s
la valeur correspondante de f (soit f ) et enn, on subsitue cette valeur
dans un schéma implicite (on obtient alors une valeur corrigée ).

26
4.5 Schéma prédicteur-correcteur 4 MÉTHODES À PAS MULTIPLES

pour n variant de 0 à N ´ 1 faire


Calculer une valeur approchée y rn`1s par un schéma explicite ;
rn`1s
Evaluer f “ f ptn`1 , y rn`1s q;
y rn`1s q à l'aide d'un schéma implicite en remplaçant l'inconnue par y rn`1s q;
npour

4.5.2 Exemple
Choisissons la méthode d'Euler explicite pour prédicteur et la méthode
implicite des trapèzes comme correcteur.
Euler explicite : y rn`1s “ y rns ` hff ptn , y rns q
Trapèze implicite : y rn`1s “ y rns ` h2 pff ptn , y rns q ` f ptn`1 , y rn`1s qq
On obtient :
$ rns

’ f “ f ptn , y rns q;
& y rn`1s “ y rns ` hff rns ;

rn`1s


’ f “ f ptn`1 , y rn`1s q;
“ y rns ` h2 pyy rn`1s ` f rns q
% rn`1s
y

Remarque 4.6 On retrouve ici, pour ce cas simple, une formule de Runge-
Kutta 2. ‚

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


prédiction et un autre implicite (??) pour la correction.

Exercice 4.2 On pose f rns “ f ptn , y rns q. La méthode de Adams-Bashforth


d'ordre 4 explicite est donnée par
h ´ ¯
y rn`1s “ y rns ` 55ff rns ´ 59ff rn´1s ` 37ff rn´2s ´ 9ff rn´3s
24
et la méthode de Adams-Moulton d'ordre 4 implicite par
h ´ rn`1s ¯
y rn`1s “ y rns ` 9ff ` 19ff rns ´ 5ff rn´1s ` f rn´2s
24

avec f rns “ f ptn , y rns q.


Q. 1 Ecrire la fonction algorithmique permettant de
REDPreCor4Vec
résoudre un problème de Cauchy (vectoriel) par une méthode de prédiction-
correction utilisant ces deux schémas. ‚

Remarque 4.7 1. La stabilité du prédicteur intervient peu.


2. Le choix du pas dans ces méthodes est un problème dicile. ‚

27
5 EXERCICES CORRIGÉS

4.5.3 Comparaison avec Runge-Kutta


L'intérêt d'une méthode de résolution numérique d'équations diéren-
tielles se mesure principalement suivant deux critères :
 son coût pour obtenir une précision donnée (c'est à dire le nombre
d'évaluations de fonctions par étapes).
 sa stabilité.
La caractéristique des méthodes de Runge-Kutta est que le pas est assez
facile à adapter, la mise en oeuvre informatique plus aisée. Mais pour des mé-
thodes du même ordre de consistance, les méthodes de Runge-Kutta exigent
plus d'évaluations de fonctions. Quand on sait que la solution de l'équa-
tion n'est pas sujette à de brusques variations de la dérivée, on prendra une
méthode de type prédicteur-correcteur mais, si le pas doit être adapté plus
précisément, on préfèrera une méthode de Runge-Kutta.

5 Exercices corrigés

Exercice 1

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


1. Montrer qu'il existe ηPn Pstn , tn`1 r et ηRn Pstn´1 , tn r tels que
h p2q n
pDyqPn “ y p1q ptn q ` y pηP q
2
et
h p2q n
pDyqR p1q n
n “ y pt q ´ y pηR q
2
2. En déduire que
1
|y p1q ptn q ´ pDyqPn | ď C1 h, avec C1 “ max |y p2q ptq|
2 tPrtn ,tn`1 s
et
1
|y 1 ptn q ´ pDyqR
n | ď C2 h, avec C2 “ max |y p2q ptq|
2 tPrtn´1 ,tn s

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


1. Montrer qu'il existe η1n Pstn , tn`1 r et η2n Pstn´1 , tn r tels que
h2 p3q n
pDyqC p1q n
n “ y pt q ´ py pη1 q ` y p3q pη2n qq
12
2. En déduire que
1
|y p1q ptn q ´ pDyqC 2
n | ď Eh , avec E “ max |y p3q ptq|
6 tPrtn´1 ,tn`1 s

28
5 EXERCICES CORRIGÉS

Correction
Q. 1 1. Soit n P v0, N ´ 1w, on a

yptn`1 q ´ yptn q
pDyqPn “ .
h
D'après la formule de Taylor, il existe ηPn P rtn , tn`1 s tel que

h2 p2q n
yptn`1 q “ yptn q ` hy p1q ptn q ` y pηP q (5.1)
2!
d'où
yptn`1 q ´ yptn q h
pDyqPn “ “ y p1q ptn q ` y p2q pηPn q. (5.2)
h 2!
On a
yptn q ´ yptn´1 q
pDyqR
n “ .
h
D'après la formule de Taylor, il existe ηR
n P rtn´1 , tn s tels que

p´hq2 p2q n
yptn´1 q “ yptn q ´ hy p1q ptn q ` y pηR q (5.3)
2!
d'où
yptn q ´ yptn´1 q h
pDyqR
n “ “ y p1q ptn q ´ y p2q pηR
n
q (5.4)
h 2

2. Soit n P v0, N ´ 1w, comme ηPn P rtn , tn`1 s on a

|y p2q pηPn q| ď max |y p2q ptq|


tPrtn ,tn`1 s

d'où, en utilisant (5.2),

h p2q n h
|pDyqPn ´ y p1q ptn q| “ |y pηP q| ď max |y p2q ptq|.
2 2 tPrtn ,tn`1 s

De même, comme ηR
n P rtn´1 , tn s on a

n
|y p2q pηR q| ď max |y p2q ptq|
tPrtn´1 ,tnn s

d'où, en utilisant (5.4),

h p2q n h
|pDyqR p1q n
n ´ y pt q| “ |y pηR q| ď max |y p2q ptq|.
2 2 tPrtn´1 ,tn s

29
5 EXERCICES CORRIGÉS

Q. 2 1. Soit n P v0, N ´ 1w, on a

yptn`1 q ´ yptn´1 q
pDyqC
n “ .
2h
D'après la formule de Taylor, il existe η1n P rtn , tn`1 s et η2n P rtn´1 , tn s
tels que

h2 p2q n h3
yptn`1 q “ yptn q ` hy p1q ptn q ` y pt q ` y p3q pη1n q (5.5)
2! 3!
et
h2 p2q n h3
yptn´1 q “ yptn q ´ hy p1q ptn q ` y pt q ´ y p2q pη2n q (5.6)
2! 3!

En soustrayant (5.6) à (5.5), on obtient

h3 p3q n
yptn`1 q ´ yptn´1 q “ 2hy p1q ptn q ` py pη1 q ` y p3q pη2n qq
6
d'où
yptn`1 q ´ yptn´1 q h2 p3q n
y p1q ptn q “ ´ py pη1 q ` y p3q pη2n qq.
2h 12

2. Comme η1n P rtn , tn`1 s Ă rtn´1 , tn`1 s, on en déduit que

|y p3q pη1n q| ď max |y p3q ptq|.


tPrtn´1 ,tn`1 s

De même, comme η2n P rtn´1 , tn s Ă rtn´1 , tn`1 s on a

|y p3q pη2n q| ď max |y p3q ptq|.


tPrtn´1 ,tn`1 s

Exercice 2
On veut résoudre numériquement le problème pPq suivant : trouver y
telle que " 1
y ptq “ cosptq ` 1, @t P r0, 4πs
pPq
yp0q “ 0.
dont la solution exacte est yptq “ sinptq ` t.
On rappelle le schéma d'Euler progressif pour la résolution d'un problème
de Cauchy " rn`1s
y “ y rns ` hf ptn , y rns q,
pSq
y r0s donné.

30
5 EXERCICES CORRIGÉS

Q. 1 Expliquer en détail comment utiliser le schéma d'Euler progressif pour


résoudre le problème pPq en précisant entre autres les données, les inconnues,
les dimensions des variables, lien entre yrns et la fonction y, ... ‚

Q. 2 (algorithmique) Soit a, b, a ă b deux réels. Ecrire une fonction Dis-


Reg retournant une discrétisation de l'intervalle ra; bs avec N pas (constant)
de discrétisation. ‚

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


des couples ptn , yrns q calculés par le schéma d'Euler progressif. ‚

Q. 4 (algorithmique) Ecrire un algorithme complet de résolution de pPq


par le schéma d'Euler progressif. ‚

Correction
Q. 1 On commence par écrire le problème de cauchy associé à pPq :
"
y 1 ptq “ f pt, yptqq, @t P rt0 , t0 ` T s
pPCq ‚
ypt0 q “ y0 P R.

avec t0 “ 0, T “ 4π, y0 “ 0 et

f : rt0 , t0 ` T s ˆ R ÝÑ R
.
pt, zq ÞÝÑ cosptq ` 1

Les données du problème de Cauchy sont donc les réels t0 , T, y0 et la fonction


f. L'inconnue est la fonction y : rt0 , t0 ` T s ÝÑ R.
Pour résoudre numériquement le problème de Cauchy, on utilise le schéma
pSq où les données sont celles du problème de Cauchy plus le nombre de
discrétisations N P N˚ On peux alors calculer
‚ tn , n P v0, N w qui sont les points de la discrétisation régulière à N
intervalles :
T
tn “ t0 ` nh, @n P v0, N w, avec h “ .
N
‚ y rns , n P v0, N w déterminés par le schéma pSq. On a y r0s “ y 0 , puis
on calcule

y rn`1s “ y rns ` hf ptn , y rns q, pour i “ 0 à N ´ 1

Q. 2 Une discrétisation régulière de l'intervalle ra, bs avec N pas (constant)


de discrétisation est donnée par
b´a
tn “ a ` nh, @n P v0, N w, avec h “ .
N

31
5 EXERCICES CORRIGÉS

Algorithme 1 Fonction DisReg retournant une discrétisation régulière de


l'intervalle ra, bs
Données : a, b : deux réels, a ă b
N : un entier non nul (nombre de pas de discrétisation).
Résultat : t : vecteur de RN `1

1: Fonction t Ð DisReg( a, b, N )
2: h Ð pb ´ aq{N
3: Pour n Ð 0 à N faire
4: t pn ` 1q Ð a ` n ˚ h
5: Fin Pour
6: Fin Fonction

Q. 3 L'algorithme de la fonction REDEP est :

Algorithme 2 Fonction REDEP : résolution d'un problème de Cauchy


scalaire par le schéma d'Euler progressif
Données : f : f : rt0 , t0 ` T s ˆ R ÝÑ R fonction d'un
problème de Cauchy (scalaire)
t0 : réel, temps initial
T : réel ą 0
y 0 : réel, donnée initiale
N : un entier non nul (nombre de pas de discrétisation).
Résultat : t : vecteur de RN `1 , t pnq “ tn´1 , @n P v1, N ` 1w
Y : vecteur de RN `1 , Y pnq “ y rn´1s , @n P v1, N ` 1w

1: Fonction rtt, Y s Ð REDEP( f, t0 , T, y0 , N )


2: t Ð DisRegpt0 , t0 ` T, N q
3: h Ð pb ´ aq{N
4: Y p1q Ð y 0
5: Pour n Ð 1 à N faire
6: Y pn ` 1q Ð Y pnq ` h ˚ f pttpnq, Y pnqq
7: Fin Pour
8: Fin Fonction

Q. 4 Il faut tout d'abord écrire la fonction fCauchy correspondant à la


fonction f :

32
5 EXERCICES CORRIGÉS

Algorithme 3 Fonction fCauchy : fonction f du problème de Cauchy


associé à pPq
Données : t : un réel
z : un réel
Résultat : w : un réel

1: Fonction w Ð fCauchy( t, y )
2: w Ð cosptq ` 1
3: Fin Fonction

L'algorithme de résolution est :

Algorithme 4 résolution numérique du problème pPq


1: t0 Ð 0
2: T Ð 4π
3: y0 Ð 0
4: rtt, Y s Ð REDEP( fCauchy, t0 , T, y 0 , 500) ‚

Exercice 3
On veut résoudre numériquement le problème du pendule pesant sans
viscosité : $ p2q g
& θ ptq “ L sinpθptqq, @t P r0, 100s
pPq θp0q “ π
% p1q
θ p0q “ 1
avec g “ 9.81 et L “ 1.
On rappelle le schéma d'Euler progressif (vectoriel) pour la résolution d'un
problème de Cauchy
" rn`1s
y “ y rns ` hff ptn , y rns q,
pSq
y r0s donné.

Q. 1 Expliquer en détail comment utiliser le schéma d'Euler progressif pour


résoudre le problème pPq en précisant entre autres les données, les inconnues,
les dimensions des variables, lien entre y rns et la fonction y , ... ‚

On suppose par la suite le fonction DisReg retournant une discrétisation


régulière de l'intervalle ra, bs en N intervalles déjà écrite.
Q. 2 (algorithmique) Ecrire une fonction REDEPvec retournant l'en-
semble des couples ptn , y rns q calculés par le schéma d'Euler progressif. ‚

33
5 EXERCICES CORRIGÉS

Q. 3 (algorithmique) Ecrire un algorithme complet de résolution d pPq


par le schéma d'Euler progressif. ‚

Correction
Q. 1 On a déjà écrit le problème de cauchy associé à pPq :
" 1
y ptq “ f pt, y ptqq, @t P rt0 , t0 ` T s
pPCq ‚
y pt0 q “ y 0 P R2 .
ˆ ˙ ˆ ˙
θptq π
avec y ptq “ 0
, t “ 0, T “ 100, y 0 “ et
θp1q ptq 1

f : rt0 , t0 ` T s ˆ R2 ÝÑ ˆR2 ˙
z2 .
pt, z q ÞÝÑ g
´ L sinpzz 1 q

Les données du problème de Cauchy sont donc les réels t0 , T, le vecteur


y 0 P R2 et la fonction f . L'inconnue est la fonction y : rt0 , t0 ` T s ÝÑ R2 .
Pour résoudre numériquement le problème de Cauchy, on utilise le schéma
pSq où les données sont celles du problème de Cauchy plus le nombre de
discrétisations N P N˚ On peux alors calculer
‚ tn , n P v0, N w qui sont les points de la discrétisation régulière à N
intervalles :
T
tn “ t0 ` nh, @n P v0, N w, avec h “ .
N

‚ y rns , n P v0, N w déterminés par le schéma pSq. On a y r0s “ y 0 , puis


on calcule

y rn`1s “ y rns ` hff ptn , y rns q, pour i “ 0 à N ´ 1

Q. 2 L'algorithme de la fonction REDEPvec est :

34
5 EXERCICES CORRIGÉS

Algorithme 5 Fonction REDEPvec : résolution d'un problème de Cauchy


par le schéma d'Euler progressif
Données : f : f : rt0 , t0 ` T s ˆ Rd ÝÑ Rd fonction d'un
problème de Cauchy (scalaire)
t0 : réel, temps initial
T : réel ą 0
y 0 : un vecteur de Rd , donnée initiale
N : un entier non nul (nombre de pas de discrétisation).
Résultat : t : vecteur de RN `1 , t pnq “ tn´1 , @n P v1, N ` 1w
Y : matrice réelle de dimension d ˆ pN ` 1q,
Y p:, nq “ y rn´1s , @n P v1, N ` 1w

1: Fonction rtt, Y s Ð REDEPvec( f, t0 , T, y 0 , N )


2: t Ð DisRegpt0 , t0 ` T, N q
3: h Ð pb ´ aq{N
4: Y p:, 1q Ð y 0
5: Pour n Ð 1 à N faire
6: Y p:, n ` 1q Ð Y p:, nq ` h ˚ f pttpnq, Y p:, nqq
7: Fin Pour
8: Fin Fonction

Q. 3 Il faut tout d'abord écrire la fonction fP correspondant à la fonction


f :

Algorithme 6 Fonction fP : fonction f du problème de Cauchy associé à


pPq
Données : t : un réel
z : un vecteur de R2 ,
Résultat : w : un vecteur de R2

1: Fonction w Ð fP( t, z )
2: g Ð 9.81
3: LÐ1
4: w p1q Ð z p2q
5: w p2q Ð ´pg{Lq ˚ sinpzz p1qq
6: Fin Fonction

L'algorithme de résolution est :

35
5 EXERCICES CORRIGÉS

Algorithme 7 résolution numérique du problème pPq


1: t0 Ð 0
2: T Ð 100 ˆ ˙
π
3: y0 Ð
1
4: rtt, Y s Ð REDEPvec( fP, t0 , T, y 0 , 2000)
5: Plotptt, Y p1, :qq Ź Representation de pt, θptqq
6: Plotptt, Y p2, :qq Ź Representation de pt, θ1 ptqq ‚

Exercice 4
la méthode de Heun est donnée par
h h ´ ¯
y rn`1s “ y rns ` f ptn , y rns q ` f tn`1 , y rns ` hff ptn , y rns q .
2 2
Q. 1 Ecrire la fonction algorithmique REDHeunVec permettant de ré-
soudre un problème de Cauchy (vectoriel par la méthode de Heun en utilisant
au plus 2N évaluation de f . ‚

Correction
Q. 1 Le schéma de Heun peut s'écrire sous la forme
h n
y rn`1s “ y rns ` pkk ` k n2 q
2 1
avec
k n1 “ f ptn , y rns q
k n2 “ f ptn`1 , y rns ` hkk 1 q
L'algorithme de la fonction REDEPvec s'écrit alors :

36
5 EXERCICES CORRIGÉS

Algorithme 8 Fonction REDEPvec : résolution d'un problème de Cauchy


par le schéma de Heun
Données : f : f : rt0 , t0 ` T s ˆ Rd ÝÑ Rd fonction d'un
problème de Cauchy (scalaire)
t0 : réel, temps initial
T : réel ą 0
y 0 : un vecteur de Rd , donnée initiale
N : un entier non nul (nombre de pas de discrétisation).
Résultat : t : vecteur de RN `1 , t pnq “ tn´1 , @n P v1, N ` 1w
Y : matrice réelle de dimension d ˆ pN ` 1q, Y p:, nq “ y rn´1s , @n P v1, N ` 1w

1: Fonction rtt, Y s Ð REDHeunVec( f, t0 , T, y 0 , N )


2: tÐ DisRegpt0 , t0 ` T, N q
3: h Ð pb ´ aq{N
4: Y p:, 1q Ð y 0
5: Pour n Ð 1 à N faire
6: k 1 Ð f pttpnq, Y p:, nqq
7: k 2 Ð f pttpn ` 1q, Y p:, nq ` hkk 1 q
8: Y p:, n ` 1q Ð Y p:, nq ` ph{2q ˚ pkk 1 ` k 2 q
9: Fin Pour
10: Fin Fonction

Exercice 5
la méthode de Runge-Kutta d'ordre 4 est donnée par
rns
k1 “ f ptn , y rns q
rns rns
k2 “ f ptn ` h2 , y rns ` h2 k 1 q
rns rns
k3 “ f ptn ` h2 , y rns ` h2 k 2 q
rns rns
k4 “ f ptn ` h, y rns ` hkk 3 q
rns rns rns rns
y rn`1s “ y rns ` h6 pkk 1 ` 2kk 2 ` 2kk 3 ` k 4 q.

h h ´ n`1 rns ¯
y rn`1s “ y rns ` f ptn , y rns q ` f t , y f n rns
` hf pt , y q .
2 2
Q. 1 Ecrire la fonction algorithmique REDRK4Vec permettant de résoudre
un problème de Cauchy (vectoriel par la méthode de Runge-Kutta d'ordre 4.‚

Correction

37
5 EXERCICES CORRIGÉS

Q. 1 L'algorithme de la fonction REDRK4Vec s'écrit alors :

Algorithme 9 Fonction REDRK4Vec : résolution d'un problème de Cau-


chy par le schéma de RK4
Données : f : f : rt0 , t0 ` T s ˆ Rd ÝÑ Rd fonction d'un
problème de Cauchy (scalaire)
t0 : réel, temps initial
T : réel ą 0
y 0 : un vecteur de Rd , donnée initiale
N : un entier non nul (nombre de pas de discrétisation).
Résultat : t : vecteur de RN `1 , t pnq “ tn´1 , @n P v1, N ` 1w
Y : matrice réelle de dimension d ˆ pN ` 1q, Y p:, nq “ y rn´1s , @n P v1, N ` 1w

1: Fonction rtt, Y s Ð REDRK4Vec( f, t0 , T, y 0 , N )


2: t Ð DisRegpt0 , t0 ` T, N q
3: h Ð pb ´ aq{N
4: Y p:, 1q Ð y 0
5: Pour n Ð 1 à N faire
6: k 1 Ð f pttpnq, Y p:, nqq
7: k 2 Ð f pttpnq ` h{2, Y p:, nq ` ph{2qkk 1 q
8: k 3 Ð f pttpnq ` h{2, Y p:, nq ` ph{2qkk 2 q
9: k 4 Ð f pttpnq ` h, Y p:, nq ` hkk 3 q
10: Y p:, n ` 1q Ð Y p:, nq ` ph{6q ˚ pkk 1 ` 2kk 2 ` 2kk 3 ` k 4 q
11: Fin Pour
12: Fin Fonction

Exercice 6
La méthode de Adam-Bashforth d'ordre 4 explicite est donnée par
´ ¯
h
y rn`1s “ y rns ` 24 55ff rns ´ 59ff rn´1s ` 37ff rn´2s ´ 9ff rn´3s .

avec f rns “ f ptn , y rns q.

Q. 1 Ecrire la fonction algorithmique REDAB4Vec permettant de résoudre


un problème de Cauchy (vectoriel) par cette méthode. ‚

Correction
Q. 1 On utilise le schéma de Runge-Kutta d'ordre 4 pour initialiser les 4
premières valeurs.

38
5 EXERCICES CORRIGÉS

L'algorithme de la fonction REDAB4Vec s'écrit alors :

Algorithme 10 Fonction REDAB4Vec : résolution d'un problème de Cau-


chy par le schéma explicite d'Adams-Bashforth d'ordre 4
Données : f : f : rt0 , t0 ` T s ˆ Rd ÝÑ Rd fonction d'un
problème de Cauchy (scalaire)
t0 : réel, temps initial
T : réel ą 0
y 0 : un vecteur de Rd , donnée initiale
N : un entier non nul (nombre de pas de discrétisation).
Résultat : t : vecteur de RN `1 , t pnq “ tn´1 , @n P v1, N ` 1w
Y : matrice réelle de dimension d ˆ pN ` 1q, Y p:, nq “ y rn´1s , @n P v1, N ` 1w

1: Fonction rtt, Y s Ð REDAB4Vec( f, t0 , T, y 0 , N )


2: tÐ DisRegpt0 , t0 ` T, N q
3: h Ð pb ´ aq{N
4: rttini , Y ini s Ð REDRK4Vecpf, t0 , t0 ` 3 ˚ h, y 0 , 3q
5: Pour n Ð 1 à 4 faire
6: Y p:, nq Ð Y ini p:, nq
7: Fin Pour
8: k 1 Ð f pttp3q, Y p:, 3qq
9: k 2 Ð f pttp2q, Y p:, 2qq
10: k 3 Ð f pttp1q, Y p:, 1qq
11: Pour n Ð 4 à N faire
12: k 0 Ð f pttpnq, Y p:, nqq
13: Y p:, n ` 1q Ð Y p:, nq ` ph{24q ˚ p55 ˚ k 0 ´ 59 ˚ k 1 ` 37 ˚ k 2 ´ 9 ˚ k 3 q
14: k3 Ð k2
15: k2 Ð k1
16: k1 Ð k0
17: Fin Pour
18: Fin Fonction

Exercice 7
On pose f rns “ f ptn , y rns q. La méthode de Adams-Bashforth d'ordre
4 explicite est donnée par
h ´ ¯
y rn`1s “ y rns ` 55ff rns ´ 59ff rn´1s ` 37ff rn´2s ´ 9ff rn´3s
24
et la méthode de Adams-Moulton d'ordre 4 implicite par
h ´ rn`1s ¯
y rn`1s “ y rns ` 9ff ` 19ff rns ´ 5ff rn´1s ` f rn´2s
24

39
5 EXERCICES CORRIGÉS

avec f rns “ f ptn , y rns q.

Q. 1 Ecrire la fonction algorithmique REDPreCor4Vec permettant de


résoudre un problème de Cauchy (vectoriel) par une méthode de prédiction-
correction utilisant ces deux schémas. ‚

Correction
Q. 1 On utilise le schéma de Runge-Kutta d'ordre 4 pour initialiser les 4
premières valeurs.
Ensuite on utilise comme prédicteur le schéma explicte et comme correcteur
le schéma implicite. Le principe est donc
 Calcul à l'aide du prédicteur :
h ´ ¯
ŷ rn`1s “ y rns ` 55ff rns ´ 59ff rn´1s ` 37ff rn´2s ´ 9ff rn´3s
24
 Calcul à l'aide du correcteur :
rn`1s
fˆ “ f ptn`1 , ŷ rn`1s q
´ rn`1s ¯
y rn`1s “ y rns ` 24 9fˆ
h
f rns
` 19f ´ 5ff rn´1s
` f rn´2s

L'algorithme de la fonction REDPreCor4Vec s'écrit alors :

40
5 EXERCICES CORRIGÉS

Algorithme 11 Fonction REDPreCor4Vec : résolution d'un problème


de Cauchy par prédiction-correction (Adams-Bashforth/Adams-Moulton)
d'ordre 4
Données : f : f : rt0 , t0 ` T s ˆ Rd ÝÑ Rd fonction d'un
problème de Cauchy (scalaire)
t0 : réel, temps initial
T : réel ą 0
y 0 : un vecteur de Rd , donnée initiale
N : un entier non nul (nombre de pas de discrétisation).
Résultat : t : vecteur de RN `1 , t pnq “ tn´1 , @n P v1, N ` 1w
Y : matrice réelle de dimension d ˆ pN ` 1q, Y p:, nq “ y rn´1s , @n P v1, N ` 1w

1: Fonction rtt, Y s Ð REDPreCor4Vec( f, t0 , T, y 0 , N )


2: t Ð DisRegpt0 , t0 ` T, N q
3: h Ð pb ´ aq{N
4: rttini , Y ini s Ð REDRK4Vecpf, t0 , t0 ` 3 ˚ h, y 0 , 3q
5: Pour n Ð 1 à 4 faire
6: Y p:, nq Ð Y ini p:, nq
7: Fin Pour
8: k 1 Ð f pttp3q, Y p:, 3qq
9: k 2 Ð f pttp2q, Y p:, 2qq
10: k 3 Ð f pttp1q, Y p:, 1qq
11: Pour n Ð 4 à N faire
12: k 0 Ð f pttpnq, Y p:, nqq
13: Ŷ Ð Y p:, nq ` ph{24q ˚ p55 ˚ k 0 ´ 59 ˚ k 1 ` 37 ˚ k 2 ´ 9 ˚ k 3 q
14: F̂ Ð f pttpn ` 1q, Ŷ q
15: Y p:, n ` 1q Ð Y p:, nq ` ph{24q ˚ p9 ˚ F̂ ` 19 ˚ k 0 ´ 5 ˚ k 1 ` k 2 q
16: k3 Ð k2
17: k2 Ð k1
18: k1 Ð k0
19: Fin Pour
20: Fin Fonction

Liste des bclogo


Dénition 1.3 - problème de Cauchy, page 10
Théorème 1.5 - Cauchy-Lipschitz, page 12
Dénition 1.7, page 12
Proposition 1.8 - Développement de Taylor, page 13
Dénition 1.9, page 13

41

Vous aimerez peut-être aussi