Vous êtes sur la page 1sur 26

Analyse numrique :

Rsolution numrique des quations diffrentielles


Pagora 1A
Chapitre 6

22 mars 2013

Analyse numrique (Pagora 1A)

Rsolution des quations diffrentielles

22 mars 2013

1 / 26

Plan

Introduction

Drivation numrique

Mthode des diffrences finies

Analyse numrique (Pagora 1A)

Rsolution des quations diffrentielles

22 mars 2013

2 / 26

Introduction

Plan

Introduction

Drivation numrique

Mthode des diffrences finies

Analyse numrique (Pagora 1A)

Rsolution des quations diffrentielles

22 mars 2013

3 / 26

Introduction

O trouver des quations diffrentielles


En fait, on trouve des quations diffrentielles un peu partout :
physique (ex : pendule, quation de la chleur, ...)
chimie (ex : cintique chimique, ...)
biologie (ex : dynamique de populations, ...)
conomie (ex : dynamique de croissance exponentielle, ...)

Analyse numrique (Pagora 1A)

Rsolution des quations diffrentielles

22 mars 2013

4 / 26

Introduction

Comment les rsoudre


Voici un exemple simple dquations diffrentielles
y 0 (t) + y (t) = 0
Les solutions de cette quations sont de la forme
y (t) = Ke t

avec K R

Maintenant
y 0 (t) + y (t) = f (t)
avec une fonction f quelconque.
Cette quation nadmet pas forcment de solution explicite do la
ncessit dutiliser des mthodes numriques pour rsoudre ce problme.

Analyse numrique (Pagora 1A)

Rsolution des quations diffrentielles

22 mars 2013

5 / 26

Drivation numrique

Plan

Introduction

Drivation numrique

Mthode des diffrences finies

Analyse numrique (Pagora 1A)

Rsolution des quations diffrentielles

22 mars 2013

6 / 26

Drivation numrique

Quelques thormes
Formule de Taylor-Lagrange :
Soit une fonction f de classe C n+1 sur lintervalle [a, b]. Alors il existe un
rel dans [a, b] tel que
f (b) = f (a) + (b a)f 0 (a) +

(b a)2 00
f (a)
2

+ ... +

(b a)n (n)
(b a)n+1 (n+1)
f (a) +
f
()
n!
(n + 1)!

Thorme des valeurs intermdiaires :


Soit une fonction f continue sur lintervalle [a, b] alors, pour tout rel u
compris entre f (a) et f (b), il existe un rel dans [a, b] tel que f () = u.
Analyse numrique (Pagora 1A)

Rsolution des quations diffrentielles

22 mars 2013

7 / 26

Drivation numrique

Position du problme

On possde une fonction f suffisamment drivable sur un intervalle [a, b] de


R seulement connue de faon discrte en plusieurs points xi , i = 0, . . . , n.
On suppose que les xi sont rgulirement espacs :
xi = a + ih

avec

h=

ba
n

Exercice introductif : Utiliser les formules de Taylor afin de donner une


approximation de f 0 (x0 ) en utilisant les f (xi ) seules valeurs de f connues.
Quelle est lerreur (cart entre la vraie valeur et lestimation) commise pour
cette estimation ?

Analyse numrique (Pagora 1A)

Rsolution des quations diffrentielles

22 mars 2013

8 / 26

Drivation numrique

Correction

Analyse numrique (Pagora 1A)

Rsolution des quations diffrentielles

22 mars 2013

9 / 26

Drivation numrique

Correction
On utilise la formule de Taylor-Lagrange en x1 = x0 + h, on a
f (x0 + h) = f (x0 ) + hf 0 (x0 ) +

h2 00
f (1 )
2

1 [x0 , x0 + h]

do

f (x0 + h) f (x0 ) h 00
f (1 )
h
2
0
Une approximation de f (x0 ) est donc
f 0 (x0 ) =

f (x0 + h) f (x0 )
h
et lerreur commise est

Analyse numrique (Pagora 1A)

h
f 00 (1 )
2
Rsolution des quations diffrentielles

22 mars 2013

10 / 26

Drivation numrique

Formules deux points pour la drive


On cherche approcher f 0 (x1 ) en utilisant 2 points f (xi ). Plusieurs
approximations sont possibles, par exemple

f (x1 + h) f (x1 )

approximation de la drive en x1
f 0 (x1 )
h

E
= f 00 (1 )
1 [x1 , x1 + h] erreur commise
2

f 0 (x1 ) f (x1 ) f (x1 h) approximation de la drive en x1

E
=
f 00 (2 )
2 [x1 h, x1 ] erreur commise
2
Lerreur commise chaque fois tend vers 0 comme h. E est une fonction
de h = h1 , lapproximation est donc dite dordre 1.
Analyse numrique (Pagora 1A)

Rsolution des quations diffrentielles

22 mars 2013

11 / 26

Drivation numrique

Approximation dordre 2 pour la drive


On utilise la formule de Taylor-Lagrange en x2 = x1 + h et en x0 = x1 h,
on a
f (x1 + h) = f (x1 ) + hf 0 (x1 ) +

h3
h2 00
f (x1 ) + f (3) (1 )
2
6

1 [x1 , x1 + h]

f (x1 h) = f (x1 ) hf 0 (x1 ) +

h2 00
h3
f (x1 ) f (3) (2 )
2
6

2 [x1 h, x1 ]

En soustrayant membre membre, on obtient


f (x1 + h) f (x1 h) = 2hf 0 (x1 ) +

Analyse numrique (Pagora 1A)

h3 (3)
(f (1 ) + f (3) (2 ))
6

Rsolution des quations diffrentielles

22 mars 2013

12 / 26

Drivation numrique

Approximation dordre 2 pour la drive


Formule centre

f (x1 + h) f (x1 h)

approximation de la drive en x1
f 0 (x1 )
2h

h2

E
= (f (3) (1 ) + f (3) (2 )) 1 [x1 , x1 + h], 2 [x1 h, x1 ]
12
Lestimation de lerreur se simplifie en utilisant le thorme des valeurs
intermdiaires (on peut ici car on suppose f suffisamment drivable). En
effet, il existe dans [x1 h, x1 + h] tel que

h2 (3)
h2
(f (1 ) + f (3) (2 )) = f (3) ()
12
6

La formule centre est dordre 2 donc plus prcises que les deux premires
formules mme si elle ncessite la connaissance de f au mme nombre de
points.
Analyse numrique (Pagora 1A)

Rsolution des quations diffrentielles

22 mars 2013

13 / 26

Drivation numrique

Approximation de la drive seconde


Exercice : trouver une formule dordre 2 pour le calcul de la drive
seconde f 00 (x1 ). Que vaut lerreur commise ?

Analyse numrique (Pagora 1A)

Rsolution des quations diffrentielles

22 mars 2013

14 / 26

Drivation numrique

Correction

Analyse numrique (Pagora 1A)

Rsolution des quations diffrentielles

22 mars 2013

15 / 26

Drivation numrique

Correction
On procde de la mme manire que pour la drive premire, on a ainsi
f (x1 + h) = f (x1 ) + hf 0 (x1 ) +

h3
h4
h2 00
f (x1 ) + f (3) (x1 ) + f (4) (1 )
2
6
24

f (x1 h) = f (x1 ) hf 0 (x1 ) +

h2 00
h3
h4
f (x1 ) f (3) (x1 ) + f (4) (2 )
2
6
24

avec 1 [x1 , x1 + h] et x2 [x1 h, x1 ]. En additionnant, on a

f (x1 + h) + f (x1 h) = 2f (x1 ) + h2 f 00 (x1 ) +

Analyse numrique (Pagora 1A)

h4 (4)
(f (1 ) + f (4) (2 ))
24

Rsolution des quations diffrentielles

22 mars 2013

16 / 26

Drivation numrique

Correction
On obtient ainsi le rsultat suivant

f (x1 + h) 2f (x1 ) + f (x1 h)

f 00 (x1 )
h2

h2

E
= (f (4) (1 ) + f (4) (2 ))
24
Lestimation de lerreur se simplifie en utilisant le thorme des valeurs
intermdiaires (on peut ici car on suppose f suffisamment drivable). En
effet, il existe dans [x1 h, x1 + h] tel que

h2 (4)
h2
(f (1 ) + f (4) (2 )) = f (4) ()
24
12

Cette formule est dordre 2.


Analyse numrique (Pagora 1A)

Rsolution des quations diffrentielles

22 mars 2013

17 / 26

Mthode des diffrences finies

Plan

Introduction

Drivation numrique

Mthode des diffrences finies

Analyse numrique (Pagora 1A)

Rsolution des quations diffrentielles

22 mars 2013

18 / 26

Mthode des diffrences finies

tude de cas

On illustre la mthode sur un exemple particulier, la rsolution du problme

x ]0, 1[
u 00 (x) + c(x)u(x) = f (x)
u(0) =

u(1) =
avec
f fonction continue sur [0, 1]
c fonction continue sur [0, 1] avec c(x) 0.
On suppose que le problme admet une unique solution u dans C 2 ([0, 1]).

Analyse numrique (Pagora 1A)

Rsolution des quations diffrentielles

22 mars 2013

19 / 26

Mthode des diffrences finies

Principe de la mthode : maillage


On subdivise de faon rgulire lintervalle [0, 1]. On appelle xi = ih,
i = 0, . . . , n + 1 les points de la subdivision.
Vocabulaire :
La subdivision est appele maillage uniforme de [0, 1]
Les points xi sont les nuds du maillage
1
h=
est le pas du maillage
n+1
Le nombre de nuds du maillage (soit n + 2) est destin tendre vers
linfini et donc h vers 0.

Analyse numrique (Pagora 1A)

Rsolution des quations diffrentielles

22 mars 2013

20 / 26

Mthode des diffrences finies

Principe de la mthode
Notons ui = u(xi ).
u0 = et un+1 = permettent de vrifier les conditions limites.
Il reste trouver ui , i = 1, . . . n. Ecrivons lquation diffrentielle du
problme en xi :
u 00 (xi ) + c(xi )u(xi ) = f (xi )
Comme les fonctions c et f sont donnes, on peut calculer c(xi ) = ci et
f (xi ) = fi .

Analyse numrique (Pagora 1A)

Rsolution des quations diffrentielles

22 mars 2013

21 / 26

Mthode des diffrences finies

Principe de la mthode : drive seconde


On a vu prcdemment que lon pouvait approcher la drive seconde
dune fonction en un point donn laide de la formule
u 00 (xi ) =

ui+1 2ui + ui1


h2 (4)

u ()
h2
12

[xi h, xi + h]

On a facilement que



h2
00
u

2u
+
u
i+1
i
i1
(4)

max u (xi )
12 sup |u (x)|
1in
h2
x[0,1]
Le membre de droite dans lingailt sappelle lerreur de consistance.

Analyse numrique (Pagora 1A)

Rsolution des quations diffrentielles

22 mars 2013

22 / 26

Mthode des diffrences finies

Principe de la mthode : systme rsoudre


Exercice : tablir le systme rsoudre pour trouver les ui , i = 1, . . . , n.

Analyse numrique (Pagora 1A)

Rsolution des quations diffrentielles

22 mars 2013

23 / 26

Mthode des diffrences finies

Correction

Analyse numrique (Pagora 1A)

Rsolution des quations diffrentielles

22 mars 2013

24 / 26

Mthode des diffrences finies

Correction
On a que

u2 + 2u1 u0
+ c1 u1 = f1
h2
u3 + 2u2 u1
+ c2 u2 = f2
h2
...
ui+1 + 2ui ui1
+ ci ui
h2

= fi

...
un+1 + 2un un1
+ cn un = fn
h2
Analyse numrique (Pagora 1A)

Rsolution des quations diffrentielles

22 mars 2013

25 / 26

Mthode des diffrences finies

Correction
Ce qui donne le systme suivant rsoudre

2 + c1 h 2
1
0
0 ...
0
u1
..

u2
2
1
2 + c2 h
1
0
.

.
.
.

..
..
1
0
1
2 + c3 h2 1 . .

..
..
..
..
.
h2
.
.
.
0
1
0

..
..
..
..
..

.
.
.
.
.
1
un
0
...
...
0 1 2 + cn h2

f1 + h2

f2

..
.
=

..

.
fn + h2
Analyse numrique (Pagora 1A)

Rsolution des quations diffrentielles

22 mars 2013

26 / 26