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

Résolution Des Équations Différentielles

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

Ift 2421

Chapitre 6

Résolution
des équations
différentielles:

Conditions initiales

Ift2421 1 Chapitre 6
Résolution numérique des équations différentielles

Rappels:
2 grandes classes:

1. Les équations différentielles ordinaires:


une seule variable.

2. Les équations aux dérivées partielles:


plusieurs variables.
(équation de la chaleur, des ondes, ...)

Ordre d’une équation différentielle : dérivée la plus élevée.

Équation différentielle linéaire :

dR(t )
émission radioactive : dt = −λR( t )

Équation différentielle non linéaire :

dN (t )
Variation de population : dt = aN ( t ) − bN ( t ) 1.7

5
du(t )
Convection : dt = − k (u(t ) − T )
4

nécessite des conditions initiales.

Ift2421 2 Chapitre 6
Résolution numérique des équations différentielles

Exemple du pendule :

Équation différentielle non linéaire


du second ordre.

Impossible de trouver une solution analytique.

Pour de petit mouvements :


Sin(θ) ≈ θ

Équation du pendule:
t: temps
θ: Position angulaire

d 2θ g L
2 + Sin(θ ) = 0
dt L

Conditions initiales usuelles: θ


θ (t 0 ) = θ0
θ ′(t 0 ) = θ0′

Ift2421 3 Chapitre 6
Méthode des séries de Taylor

Ordre 1:

y ′(t ) = f (t , y(t ))
y ( t 0 ) = y0

Développement de Taylor au voisinage de t j = t 0 + j h

h2 h3
y j +1 = y j + h y ′(t j ) + y ′′(t j ) + y ′′′ (t j ) + O(h 4 )
2 6

Devient:
h2 h3
y j +1 = y j + h f (t j , y j ) + f ′( t j , y j ) + f ′′ (t j , y j ) + O(h 4 )
2 6

Remarques:

1. L'ordre local est en h4.

2. Pas d'estimée de l'erreur.

3. Les dérivées de la fonction f(t,y(t)) se font:

df ∂f ∂f ∂f ∂f
= f ′(t , y ) = + y′ = + f
dt ∂t ∂ y ∂t ∂ y
4. Si l'ordre local est en hn , l'ordre global sera en hn-1.

Ift2421 4 Chapitre 6
Exemple:

Appliquer la méthode de Taylor avec un pas h = 0.1


et un ordre local en h3 pour:

y ′(t ) = f (t , y (t )) = −t y 2 (t )
y ( t 0 ) = y0 = 1

2
Solution analytique: y ( t ) =
2 + t2

Le pas est h = 0.1, nous allons calculer les valeurs de y(t)pour


t = 0, t = 0.1, t = 0.2, ..., etc.

Si nous utilisons un ordre local en h3, nous avons:


h2
y j +1 = y j + h y ′(t j ) + y ′′(t j ) + O(h 3 )
2

Exprimons y ′′(t )

y ′′(t ) = f ′(t , y (t )) = − y 2 (t ) + ( − t ) 2 y (t ) y ′(t )

or y ′(t ) = f (t , y (t )) = −t y (t )
2

donc y ′′(t ) = − y (t ) + ( −t ) 2 y (t ) ( − t y (t ))
2 2

y ′′(t ) = − y 2 (t ) + 2 t 2 y 3 (t )

Ift2421 5 Chapitre 6
La formule de Taylor d'ordre local h3 devient alors:

h2
y j +1 = y j + h ( − t j y (t j )) + ( − y 2 (t j ) + 2 t 2j y 3 (t j ) ) + O(h 3 )
2
2

pour t1 = t 0 + h
0.12
y1 = y0 − h t 0 y (t 0 ) +
2
( − y 2 (t 0 ) + 2 t o2 y 3 (t 0 ) )
2

y1 = 1 − 0.005 = 0.995

2 2
Valeur exacte: .)=
y(01
2 + 01
. 2 =
2.01
≈ 0.99502487...

pour t 2 = t 0 + 2h
h2
y 2 = y1 − h t1 y (t1 ) + ( − y 2 (t1 ) + 2 t12 y 3 (t1 ) )
2
2

2
.
01
y 2 = 0.995 − 01 . (0.995) 2 ) +
. (01 ( − (0.995) 2 + 2 01
. 2 (0.995) 3 )
2

y2 = 0.9802486...

2 2
Valeur exacte: y( 0.2 ) = = ≈ 0.980392156...
2 + 0.2 2 2.04

pour t 3 = t 0 + 3h Etc.
Ordre global h2.

Ift2421 6 Chapitre 6
Méthode d'Euler (ordinaire)

Ordre 1:

y ′(t ) = f (t , y(t ))
y ( t 0 ) = y0

Méthode d'Euler = Méthode de Taylor


d'ordre local en h2.
Ordre global en h.

y j +1 = y j + h y ′(t j ) + O(h 2 )

y j +1 = y j + h f (t j , y (t j )) + O(h 2 )

Interprétation géométrique:

y1

Solution
y0 analytique

x0 x0+h x

Ift2421 7 Chapitre 6
Erreur globale vs Erreur locale

Yn = Valeur calculée en xn.

yn = Valeur exacte en xn.

en = yn − Yn = erreur en Yn; Yn = yn + en

Avec la méthode d'Euler, nous avons:

Yn+1 = Yn + h f (t n , Yn )

En utilisant les séries de Taylor:


h2
yn+1 = y n + h f (t n , yn ) + y ′′ (ξn ) avec x n ≤ ξn ≤ xn + h
2

en +1 [
= y n+1 − Yn+1 = y n − Yn + h f ( xn , yn ) − f ( xn , Yn ) + ]h2
2
y ′′ (ξ n )

 f ( xn , yn ) − f ( xn , Yn )  h2
en +1 = en + h   ( yn − Yn ) + y ′′(ξ n )
 ( y n − Yn )  2

h2
en +1 = en + h f y ( x n , ηn ) en + y ′′(ξ n ) avec ηn entre yn et Yn
2

h2
en +1 ≤ (1 + hK )en + y ′′ (ξ n )
2

Ift2421 8 Chapitre 6
Erreur globale vs Erreur locale (suite)

e0 = 0
h2 1 2
e1 ≤ (1 + hK )e0 + y ′′(ξ 0 ) = h y ′′( ξ 0 )
2 2
1 2  h
[ ]
2
1
e2 ≤ (1 + hK )  h y ′′( ξ 0 )  + y ′′( ξ1 ) = h 2 (1 + hK ) y ′′ (ξ 0 ) + y ′′ (ξ 1 )
2  2 2
1
[ ]
e3 ≤ h 2 (1 + hK ) 2 y ′′ (ξ 0 ) + (1 + hK ) y ′′( ξ1 ) + y ′′ (ξ 2 )
2
...
1
[
en ≤ h 2 (1 + hK ) n−1 y ′′( ξ 0 ) + (1 + hK ) n−2 y ′′( ξ1 ) +K+1 y ′′ (ξ n−1 )
2
]
1
[
en ≤ h 2 M (1 + hK ) n −1 + (1 + hK ) n− 2 +K+1
2
]
Sachant que :
n −1 sn − 1
1 + s + s +K+ s =
2
s −1
Nous obtenons :
1 2 (1 + hK ) n − 1 hM hM
en ≤ h M e ≤ (1 + hK ) −
n
2 (1 + hK ) − 1 ⇔ n 2 K 2K
(hK ) 2 (hK ) 3
e = 1 + hK +
hK
+ +K Maclaurin
2 3
1 + hK < e hK ( K > 0)

en ≤
2K
(e ) − =
2K 2K
(
hM hK n hM hM nhK
e − 1) =
2K
(e
hM ( xn − x0 ) K
− 1) = O(h)

Ift2421 9 Chapitre 6
Méthode d'Euler modifiée

Taylor d’ordre local en h3 :


h2
y j +1 = y j + h f (t j , y j ) + f ′ ( t j , y j ) + O( h 3 )
2

Différence avant pour évaluer f’ :

f (t j +1 , y j +1 ) − f (t j , y j )
f ′(t j , y j ) = + O( h )
h

Formule d’Euler modifiée :

y j +1
h
[
= y j + f (t j , y j ) + f (t j +1 , y j +1 ) + O(h 3 )
2
]
y j +1
h
[ ]
= y j + y ′j + y ′j +1 + O(h 3 )
2
y

y1
Solution
y0 analytique

x0 x0+h x

Ift2421 10 Chapitre 6
Méthode d'Euler ordinaire Méthode d'Euler modifiée
Algorithme Algorithme

y0 donné y0 donné

y j +1 = y j + h f (t j , y (t j )) ~
y j +1 = y j + h f (t j , y (t j ))

y j +1 = y j +
h
2
[
f (t j , y j ) + f (t j +1 , ~
y j +1 ) ]
Une seule étape de calcul Deux étapes de calcul:

1. la prédiction.
2. La correction.

Ordre global en h. Ordre global en h2.

Méthode d'Euler ordinaire Méthode d'Euler modifié


Pour résoudre: Pour résoudre:
y ′ (t ) = − t y 2 ( t ) y ′ (t ) = − t y 2 ( t )
y(0) = 1 y(0) = 1

tj yj erreur tj yj prédit yj corrigé erreur


0.1 1.0000 -5.0 10-3 0.1 1.000000 0.995000 2.5 10-5
0.2 0.9900 -9.6 10-3 0.2 0.985100 0.980346 4.6 10-5
0.3 0.9704 -1.3 10-2 0.3 0.961124 0.956878 6.0 10-5
0.4 0.94215 -1.6 10-2 0.4 0.929410 0.925868 6.0 10-5
0.5 0.891579 0.888851 3.8 10-5
0.6 0.847458 0.847458 5.2 10-8
Note: L'étape de correction peut être répétée 2 à 3 fois, au delà,
il est préférable de réduite h.

Ift2421 11 Chapitre 6
Méthode d'Euler ordinaire
y ′ (t ) = − t y 2 ( t )
y(0) = 1

h =0.5
1

tj yj
0 1 0.8

0.5 1
1. 0.75 0.6

1.5 0.46875
2. 0.303955 0.4

2.5 0.211566
0.2
3. 0.155616
3.5 0.119291
0
4. 0.0943882 0.5 1 1.5 2 2.5 3 3.5 4

Méthode d'Euler Modifié

h =0.5
1

tj yj
0 1 0.8

0.5 0.875
1. 0.662472 0.6

1.5 0.479149
2. 0.345942 0.4

2.5 0.254107
0.2
3. 0.191201
3.5 0.147512
0
4. 0.116497 0.5 1 1.5 2 2.5 3 3.5 4

Ift2421 12 Chapitre 6
Méthode de Runge Kutta
Développement à l’ordre 2

y0 donné

k1 = h f ( xn , y n )
k 2 = h f ( xn + α h, y n + β k1 )
yn+1 = yn + a k1 + b k 2

Trouver les valeurs de : a, b, α et β.

Développement de Taylor :

h2
y n+1 = y n + h f ( xn , y n ) + f ′( xn , y n ) + O(h 3 )
2
or
f ′ ( xn , y n ) = ( f x + f y y ′ ) n
= ( f x + f y f )n
h2
y n+1 = y n + h f ( x n , y n ) + ( f x + f y f ) n + O( h 3 ) (1)
2

Algorithme de Runge Kutta d’ordre 2 :


yn+1 = yn + ah f ( xn , yn ) + bh f ( xn + αh, yn + βh f ( xn , yn ))

Développons au premier ordre :


f ( xn + αh, yn + βh f ( x n , yn )) ≅ f n + ( f x ) n α h + ( f y ) n β h f n
{
yn +1 = yn + ( a + b)h f n + h 2 ( f x ) n α b + ( f y ) n β b f n } (2)

Ift2421 13 Chapitre 6
Méthode de Runge Kutta : développement à l’ordre 2

y0 donné

k1 = h f ( xn , y n )
k 2 = h f ( xn + α h, y n + β k1 )
yn+1 = yn + a k1 + b k 2

Trouver les valeurs de : a, b, α et β.


h2
y n+1 = yn + h f ( x n , yn ) + ( f x + f y f ) n + O(h 3 ) (1)
2
{
yn +1 = yn + ( a + b)h f n + h 2 ( f x ) n α b + ( f y ) n β b f n } (2)

En forçant (1) = (2), nous avons :


a +b =1
1
αb = Ordre local en h3
2
Ordre global en h2.
1
βb=
2

Choix Courants :
1 1
a= → b = et α = β = 1 → Type I : Euler modifié
2 2
1
a = 0 → b = 1 et α = β = → Type II
2
2 1 3
a = → b = et α = β = → Type III
3 3 2

Ift2421 14 Chapitre 6
Méthode de Runge Kutta d’ordre global 2
Le plus courant :

y0 donné

k1 = h f ( xn , y n )
3 3
k 2 = h f ( xn + h, y n + k1 )
2 2
2 1
y n+1 = yn + k1 + k 2 + O(h 3 )
3 3

Méthode de Runge Kutta d’ordre global 4


Le plus courant :

y0 donné

k1 = h f ( xn , y n )
1 1
k 2 = h f ( xn + h, y n + k1 )
2 2
1 1
k 3 = h f ( xn + h, y n + k 2 )
2 2
k 4 = h f ( x n + h, yn + k 3 )
1 1 1 1
y n+1 = y n + k 1 + k 2 + k 3 + k 4 + O( h 5 )
6 3 3 6

Ift2421 15 Chapitre 6
Les méthodes de Runge Kutta Pas encore d’approximation
sont très efficaces car : de l’erreur commise.
Nécessité de choisir le pas en
1. Elles suivent de près la
fonction de l’erreur maximale
solution analytique.
recherchée.
2. Avec une valeur du pas Solution : calculer avec un
relativement élevé. pas égal à h, h/2, ...
Jusqu’à la stabilité de la
3. Moins coûteux que les solution.
autres méthodes pour un Coût élevé !
O(hn) donné.
Les méthodes qui ajustent le
pas sont dites méthodes à pas
adaptatif.

Méthode de Runge 1

h=1.0
Kutta d’ordre global h4 : 0.8

0.6

y ′ (t ) = − t y ( t )
2
0.4

y(0) = 1
0.2

h =0.1 1
0.5 1 1.5 2 2.5 3 3.5 4

h=0.5
0.8

tj yj yj Réel
0 1 1 0.6

0.1 0.9950249 0.9950249 0.4

0.2 0.9803922 0.9803922


0.3 0.9569377 0.9569378 0.2

0.4 0.9259258 0.9259259 0


0.5 1 1.5 2 2.5 3 3.5 4

Ift2421 16 Chapitre 6
Algorithme de Runge Kutta Merson
d’ordre global 4 avec estimé de l’erreur.
y0 donné k 1 = h f ( xn , y n )
1 1 1 1 1
k 2 = h f ( x n + h , yn + k1 ) k 3 = h f ( x n + h, y n + k 1 + k 2 )
3 3 3 6 6
1 1 3 1 3
k 4 = h f ( x n + h , yn + k1 + k 3 ) k 5 = h f ( x n + h, y n + k 1 − k 3 + 2 k 4 )
2 8 8 2 2
1 2 1
y n +1 = y n + k 1 + k 4 + k 5 + O ( h 5 )
6 3 6
1 3 4 1 
E ≈  k1 − k 3 + k 4 − k 5 
15 10 15 30 

Algorithme de Runge Kutta Fehlberg


d’ordre global 5 avec estimé de l’erreur.
y0 donné k 1 = h f ( xn , y n )
1 1 3 3 9
k 2 = h f ( xn + h , y n + k1 ) k 3 = h f ( xn + h , yn + k1 + k )
4 4 8 32 32 2
12 1932 7200 7296
k 4 = h f ( xn + h , yn + k1 + k2 + k )
13 2197 2197 2197 3
439 3680 845
k 5 = h f ( x n + h , yn + k1 − 8 k 2 + k3 − k )
216 513 4104 4
1 8 3544 1859 11
k 6 = h f ( x n + h, y n − k1 + 2 k 2 − k3 + k4 − k )
2 27 2565 4104 40 5
25 1408 2 1
y n +1 = y n + k1 + k 3 + k 4 + k 5 + O(h 6 )
216 2565 3 6

 1 128 2197 1 2 
E≈ k1 − k3 − k 4 + k5 + k 6 
 360 4275 75240 50 55 

Ift2421 17 Chapitre 6
Exemple : Algorithme de Runge Kutta Fehlberg
d’ordre global 5 avec estimé de l’erreur.

y ′ (t ) = − t y 2 ( t )
y(0) = 1

h =0.1

tj yj Erreur
0 1 0.0
0.1 0.95025 7.47241 10-8
0.2 0.980392 1.97673 10-7
0.3 0.956938 2.75904 10-7
0.4 0.925926 2.98256 10-7
0.5 0.888889 2.69385 10-7
0.6 0.847457 2.01399 10-7

y6 = 0.847457

Méthode efficace et populaire


avec contrôle de l’erreur.

Ift2421 18 Chapitre 6
Méthodes à pas unique Méthodes à pas multiples
(multistep methods)

utilisent seulement le pas utilisent plusieurs pas


précédent : précédents :

yn et yn′ yn et yn′
et aussi yn−1 et yn′−1
Exemples :
Méthodes de Taylor et de ( yn−2 et yn′−2 possible)
Runge Kutta.

Méthodes ouvertes Méthodes fermées

(de type prédiction


correction)

n’utilisent que les valeurs utilisent autant les valeurs


précédentes précédentes

yn , yn−1 , yn−2 ... yn , yn−1 , yn−2 ...

que les valeurs suivantes


yn+1 , yn+2 ...

Exemple : méthode d’Euler


modifiée.

Ift2421 19 Chapitre 6
Méthode d’Adams

Équations différentielles sous la forme

dy = f ( x, y) dx

à intégrer sur [xn, xn+1] :

∫ dy = ∫
xn + 1 xn + 1
f ( x , y )dx
xn xn

remplacer la fonction f(x,y(x))


par un polynôme de collocation : xn, xn-1, xn-2, ...

Polynôme quadratique de Newton Grégory descendant :

s( s + 1) 2 s( s − 1)( s − 2) 3
P2 ( s) = f n + s∆f n−1 + ∆ f n − 2+ h f ′′′(ξ)
2 6

Calcul des intégrales :

 1 5 
y n+1 = yn + h  f n + ∆f n −1 + ∆2 f n− 2  + O(h 4 )
 2 12 

= yn +
h
12
[
23 f n − 16 f n−1 + 5 f n −2 + O(h 4 ) ]
Note :
Le résultat sera d’ordre local n+2 pour un polynôme de degré n.
Attention : Degré trop élevé ⇒ erreurs d’arrondis.

Ift2421 20 Chapitre 6
Méthodes d’Adams

 1 5 2 
y n+1 = yn + h  f n + ∆f n −1 + ∆ f n− 2  + O(h 4 )
 2 12 

= yn +
h
12
[ ]
23 f n − 16 f n−1 + 5 f n −2 + O(h 4 )

Remarques :

1. Pour démarrer, les valeurs de y0′ , y1′ et y2′


(donc f0, f1, et f2) sont nécessaires.
Amorçage : méthode de Runge Kutta.

2. Pas question d’adapter le pas directement.

3. Problème : extrapolation avec le polynôme de collocation ;


moins précis qu’interpolation.

Adams (ordre local en h3)


yn+1 = yn + [3 f n − f n−1 ] + O(h 3 )
h
2

Adams (ordre local en h5)

y n+1 = yn +
h
24
[ ]
55 f n − 59 f n−1 + 37 f n−2 − 9 f n−3 + O(h 5 )

Ift2421 21 Chapitre 6
Méthodes d’Adams Moulton
(prédiction correction)

2 étapes :

1. une étape de prédiction


où nous extrapolons
⇒ approximation de yn+1

2. une étape de correction


où nous interpolons
pour trouver yn+1 en se servant de f n+1
tel que prédit par la première étape.

Méthode d’Adams Moulton


(d’ordre local en h4)

y0 , y1 , y2 donnés

~
yn+1 = yn +
h
12
[ ]
23 f n − 16 f n−1 + 5 f n −2 + O(h 4 )

~
Calcul de f n+1 = f ( xn+1 , ~
yn+1 )

y n+1 = yn +
h ~
12
[ ]
5 f n +1 + 8 f n − f n−1 + O(h 4 )

Ift2421 22 Chapitre 6
Méthodes d’Adams Moulton

Remarques :

1. Le correcteur : même ordre que prédicteur, mais précision


plus grande.

2. La valeur exacte entre le prédicteur et le correcteur.

3. Deux évaluations de la fonction f à chaque étape


(comparée à 4 pour Runge Kutta du même ordre).

4. Pour amorcer : Runge Kutta du même ordre.

Méthodes d’Adams Moulton


(d’ordre local e h5)

y0 , y1 , y2 , y3 donnés

~
y n+1 = yn +
h
24
[
55 f n − 59 f n−1 + 37 f n−2 − 9 f n −3 +
720
]
251 5 v
h y ( ξ)

~
Calcul de f n+1 = f ( xn+1 , ~
yn+1 )

y n+1 = yn +
h
24
[
~
]
9 f n+1 + 19 f n − 5 f n−1 + f n −2 −
19 5 v
720
h y ( ξ)

Ift2421 23 Chapitre 6
Méthode d’Adams Moulton
Mesure de la précision 251 5 v
y exact = y predit + h y ( ξ)
720
19
y exact ≈ y corrige − (y − y predit ) 19 5 v
270 corrige y exact = y corrige − h y ( ξ)
720

N décimales exactes lorsque : 270 5 v


0 = y predit − y corrige + h y ( ξ)
720
ycorrige − y predit 10 N ≤ 14.2
h 5 y v ( ξ) =
720
y (
270 corrige
− y predit )
L’erreur globale est stable donc Donc
pas de divergence.
y exact = y corrige −
19 720
y (
720 270 corrige
− y predit )

( )
Comparaison des méthode pour 19
yexact = ycorrige − y − y predit
résoudre : 270 corrige

y ′ (t ) = − t y 2 ( t )
y(0) = 1

Méthode t1 = 0.1 t2 = 0.2


Solution analytique 0.995025 0.980392
Euler O(h2) 1.000000 0.990000
Taylor O(h3) 0.995000 0.980248
Taylor O(h4) 0.995000 0.980346
Euler Modifié O(h3) 0.995000 0.980346
RK type II O(h3) 0.995000 0.980297
RK type III O(h3) 0.995000 0.980394
RK O(h5) 0.995025 0.980392
Adams Moulton 0.995025 0.980392

Ift2421 24 Chapitre 6
Résoudre un système d'équations différentielles
du premier ordre:

Exemple:  dx
 dt = xy + t Conditions initiales:
 x(0) = 1 et y(0) = -1
 dy = ty + x
 dt
Méthode de Taylor avec ordre local en h4:
h2 h3
x j +1 = x j + h x ′ (t j ) + x ′′(t j ) + x ′′′ (t j ) + O(h 4 )
2 6
h2 h3
y j +1 = y j + h y ′ (t j ) + y ′′(t j ) + y ′′′ (t j ) + O(h 4 )
2 6

 x ′ = xy + t

 y ′ = ty + x
 x ′′ = xy ′ + x ′y + 1

 y ′′ = y + ty ′ + x ′
 x ′′′ = x ′y ′ + xy ′′ + x ′′y + x ′y ′

 y ′′′ = y ′ + y ′ + ty ′′ + x ′′

Ift2421 25 Chapitre 6
Euler modifié
~x j +1 = x j + h f (t j , x(t j ))
~
 y j +1 = y j + h f (t j , y (t j ))

x
 j +1 = x j +
h
2
[f (t j , x j ) + f (t j +1 , ~ ]
x j +1 )

 j +1 j
2
[
 y = y + h f (t , y ) + f (t , ~
j j j +1 y j +1 ) ]

Exemple:  x ′ = xy + t Conditions initiales:


 x(0) = 1 et y(0) = -1
 y ′ = ty + x
h = 0.1
Prédiction:

~x1 = x0 + h f (t 0 , x (t 0 )) = 1 + 01
. [(1)( −1) + 0] = 0.9
~
 y1 = y0 + h f (t 0 , y (t 0 )) = −1 + 01 . [( 0)( −1) + 1] = −0.9

Correction:

 h
[ ~ ]01
.
 x1 = x0 + 2 f (t 0 , x0 ) + f (t1 , x1 ) = 1 + 2 ( −1 + [0.9( −0.9) + 01 . ])

 1 0
2
[
 y = y + h f (t , y ) + f (t , ~
0 0 1 y1 ) = −1 + ] 0.1
2
(1 + [0.1( −0.9) + 0.9145])

 x1 = 0.9145

 y1 = −0.9088

Ift2421 26 Chapitre 6
Équation différentielles d’ordre supérieur

Ordre n :

y ( n ) (t ) = f (t , y (t ), y ′ (t ),K, y ( n−1) (t ))

Conditions initiales :

y ( k ) (t 0 ) = y0( k ) donnés pour k = 0, 1, ..., n-1.

Remarque :
Il est rarement possible de trouver une solution analytique.

Équation du pendule:
(pour de petits mouvements)
t: temps
θ: Position angulaire

d 2θ g
+ θ=0
dt 2 L L

Conditions initiales usuelles:


θ
θ (t 0 ) = θ0
θ ′(t 0 ) = θ0′
g L g
θ ′ (t ) = θ 0 Cos( t ) + θ ′0 Sin( t )
L g L

Ift2421 27 Chapitre 6
Transformation d'une équation différentielle d'ordre 2
en un système d’ordre 1 :

Ordre 2 :
y ′′(t ) = f (t , y(t ), y ′(t ))

Conditions initiales :

y(t 0 ) = y0 et y ′(t 0 ) = y0′

En posant : x (t ) = y ′(t )

Système équivalent :

 x ′ (t ) = f (t , y (t ), x (t ))

 y ′(t ) = x (t )

avec conditions initiales : y (t 0 ) = y0 et x (t 0 ) = y0′

Ift2421 28 Chapitre 6
Remarque:

Il est toujours possible de transformer


une équation différentielle d'ordre n
en un système d'équations différentielles d'ordre 1.

Équation différentielle d'ordre n:

y ( n ) (t ) = f (t , y (t ), y ′ (t ),K, y ( n−1) (t ))

Conditions initiales :
y ( k ) (t 0 ) = y0( k ) donnés pour k = 0, 1, ..., n-1.

En posant: x k (t ) = y (t ) pour k = 0, 1, ..., n-1.


(k )

Nous obtenons un système de n équations d'ordre 1:

 x0′ (t ) = x1 (t )
 x ′ (t ) = x (t )
 1 2

M

 xn′−2 (t ) = xn −1 (t )
 xn′−1 (t ) = f (t , x0 (t ), x1 (t ),K, xn −1 (t ))

 = y ( n ) (t )

Avec conditions initiales:


x k (t 0 ) = y ( k ) (t 0 ) pour k = 0, 1, ..., n-1.

Ift2421 29 Chapitre 6
Exemple: Résoudre
d 2x 2 dx
Conditions initiales:
− (1 − x ) + x = 0 x(0) = 0.5 et x'(0) = 0
dt 2 dt

Mise sous la  dx
forme de  dt = y Conditions initiales:
système:  x(0) = 0.5
 dy = (1 − x 2 ) y − x et y(0) = x'(0) = 0
 dt

Euler avec h = 0.1

 x j +1 = x j + h f (t j , x (t j ), x ′(t j ))

 y j +1 = y j + h f (t j , y (t j ), y ′ (t j ))

Ici j = 0:
 x1 = x 0 + h y0

[
 y1 = y0 + h (1 − x 0 ) y 0 − x 0
2
]
 x1 = 0.5 + (0.1)(0)

 y1 = 0 + (0.1) [(1 − 0.25)0 − 0.5]

Calculer x''(0) et x''(0.1)

x ′′ (0) = (1 − x02 ) y0 − x0
x ′′ (01
. ) = (1 − x12 ) y1 − x1

Ift2421 30 Chapitre 6
Méthodes d’Adams Moulton d’ordre global 4
Pour les systèmes d’ordre 2.

• x0, x1, x2, x3 donnés


et y0, y1, y2, y3 donnés

• Calcul des prédicteurs :


~
xn+1 = x n +
h
24
[ ]
55 f n − 59 f n−1 + 37 f n−2 − 9 f n− 3 + O(h 5 )

yn+1 = yn + [55gn − 59 gn −1 + 37 gn−2 − 9 gn−3 ] + O(h 5 )


~ h
24

• Nouveaux estimés de la fonction :


f n+1 = f (tn +1 , ~ yn+1 )
~
xn+1 , ~
g~ = g(t , x~ , ~
n +1 n +1 y )
n +1 n +1

• Calcul des correcteurs :


xn+1 = xn +
h ~
24
[ ]
9 f n+1 + 19 f n − 5 f n−1 + f n−2 + O(h 5 )

yn+1 = yn + [9 g~n +1 + 19 gn − 5gn −1 + gn−2 ] + O(h 5 )


h
24

Correcteur : même ordre que le prédicteur.


Valeur exacte entre le prédicteur et le correcteur.

Ift2421 31 Chapitre 6
Exemple :
Soit le système :
 x ′ = xy + t x (0) = 1

 y ′ = ty + x y( 0) = −1
avec pour conditions initiales :

t x x’ t y y’
Valeurs 0.0 1.0 -1.0 0.0 -1.0 1.0
de 0.025 0.9759 -0.9271 0.025 -0.9756 0.9515
départ 0.050 0.9536 -0.8582 0.050 -0.9524 0.9060
0.075 0.9330 -0.7929 0.075 -0.9303 0.8632
Prédiction 0.10 0.10
Correction
• Calcul des prédicteurs :
~ . ) = x 0.075 +
x (01
0.025
24
[
55 f 0.075 − 59 f 0.05 + 37 f 0.025 − 9 f 0 ]
[55( −0.7929) − 59(−0.8582) + 37( −0.9271) − 9( −1)]
0.025
= 0.9330 +
24
= 0.91396

[55(0.8632) − 59(0.9060) + 37(0.9515) − 9(10. )]


~ 0.025
. ) = −0.9303 +
y (01
24
= −0.9092296875
• Nouveaux estimés de la fonction :
f n + 1 = f (t n + 1 , ~ y n +1 ) = 0.91396( −0.9092296) + 01
~
x n +1 , ~ . = −0.7309995
g~n +1 = g(t n +1 , ~ x n +1 , ~y n +1 ) = 01
. ( −0.9092296) + 0.91396 = 0.823037

• Calcul des correcteurs :


[9( −0.7309995) + 19( −0.7929) − 5( −0.8582) + ( −0.9271)] = 0.9139581
0.025
x(0.1) = 0.9330 +
24
[9(0.823037) + 19(0.8632) − 5(0.906) + 0.9515] = −0.9092274
0.025
. ) = −0.9303 +
y(01
24
. ) = 0.9139581
x( 01
. ) = − 0.9092274
y(01

Ift2421 32 Chapitre 6
Comparaison des méthodes
pour les équations différentielles

Euler Runge Kutta Adams


Modifié d’ordre 4 Moulton

Type de Pas Pas Pas


méthode unique unique multiple

Erreur
locale O(h3) O(h5) O(h5)

Erreur
globale O(h2) O(h4) O(h4)

nb
d’évaluation de 2 4 2
fonction

Stabilité bonne bonne bonne

Facilité pour
changer le pas oui oui non

Recommandée NON OUI OUI

Ift2421 33 Chapitre 6
Ift 2421

Chapitre 6

Résolution
des équations
différentielles:

Conditions limites

Ift2421 34 Chapitre 6
Problèmes aux limites

Équation différentielle d’ordre 2

y ′′(t ) = f (t , y (t ), y ′(t ))

Avec les 2 conditions limites :

y(t0 ) = y0 et y (t1 ) = y1

Type différent de celles données


avec des conditions initiales.

Les méthodes vues précédemment ne s’appliquent pas


car nous ne connaissons pas y ′(t0 )

Exemple : d 2w S qx
Déformation d’une poutre : = w + ( x − L)
dx 2 EI 2 EI
Avec les conditions limites
w(x) : déformation en w(0) = w( L) = 0
fonction de l’abscisse x.

q : charge uniforme. w

E : Coefficient d’élasticité.
L : longueur de la poutre.
S : tension aux limites. s s

I : moment central d’inertie. 0 L

Ift2421 35 Chapitre 6
Problèmes linéaires aux limites

Pour une équation différentielle linéaire d’ordre 2


ou d’un autre ordre tant qu’elle est linéaire.

y ′′(t ) = H (t ) + G(t ) y(t ) + F (t ) y ′(t ) (1)

Nous avons :

Théorème :
Si y1(t) et y2(t) sont deux solutions de (1)
alors
y3 (t ) = αy1 (t ) + (1 − α) y2 (t )
est aussi solution de (1).

Le théorème pour des


équations différentielles
linéaires seulement.

Cas homogène :

Où H = 0, nous acceptons
toute combinaison linéaire :

Pour tout α et β,
y3(t) = α y1(t) + β y2(t)
est aussi solution de (1).

Ift2421 36 Chapitre 6
Méthode de tir

Problème linéaire à résoudre

x ′′(t ) = t + (1 − 0.2 t ) x (t )

Avec les conditions aux limites (frontières) :


x(1) = 2 et x(3) = -1

On essaie un premier tir en remplaçant


par les conditions initiales :
x1(1) = 2
x’1(1) = - 1.5

Premier tir:

Raté : nous trouvons x1(3) = 4.811

Ift2421 37 Chapitre 6
Méthode de tir

Problème linéaire à résoudre

x ′′(t ) = t + (1 − 0.2 t ) x (t )

Avec les conditions aux limites (frontières) :


x(1) = 2 et x(3) = -1

On essaie un deuxième tir en remplaçant


par les conditions initiales :
x2(1) = 2
x’2(1) = - 3

Deuxième tir:

Encore raté : nous trouvons x2(3) = 0.453

Ift2421 38 Chapitre 6
Combinaison des tirs

Mais nous avons :

x3 (t ) = αx1 (t ) + (1 − α) x2 (t )

qui sera aussi une solution.


de
x ′′(t ) = t + (1 − 0.2 t ) x (t )

Il faut donc déterminer α pour avoir x3(3) = -1.

x3 (3) = αx1 (3) + (1 − α) x2 (3)


− 1 = α( 4.811) + (1 − α)(0.453)

α = −0.3334
Solution en tout point :
x3 (t ) = −0.3334 x1 (t ) + 13334
. x2 (t )

Ift2421 39 Chapitre 6
Combinaison des tirs

Notes :
1. Problèmes linéaires du second
ordre convergent en 2 tirs.

2. Ordre plus élevé : la méthode


fonctionne aussi.

3. Ordre global et précision de la


méthode employée pour les
conditions initiales.
Problème linéaire à
4. Peu généralisables en 2D et résoudre
3D, peu utilisée en pratique.
x ′′(t ) = t + (1 − 0.2 t ) x (t )

t x1 (t ) x2 (t ) x3 (t )
1.0 2.000 2.000 2.000
1.2 1.751 1.449 1.348
1.4 1.605 0.991 0.786
1.6 1.561 0.619 0.305
1.8 1.625 0.328 -0.105
2.0 1.803 0.118 -0.444
2.2 2.105 -0.007 -0.711
2.4 2.542 -0.045 -0.908
2.6 3.128 0.013 -1.026
2.8 3.880 0.175 -1.061
3.0 4.811 0.453 -1.000

Ift2421 40 Chapitre 6
Pour les équations
non linéaires :

• Convergence de la
méthode de tir comme une
méthode de point fixe.
X(3)=f(x’(1))

• peu de chance que


l’interpolation linéaire
procure la solution exacte.
Problème non linéaire à
• Sert à estimer la prochaine résoudre
pente.
x ′′(t ) = t + (1 − 0.2 t ) x (t ) x ′(t )
avec CL : x(1)=2 et x(3)=-1

Valeur assumée valeur Calculée


pour x’(1) pour x(3)
-1.5 -0.016
-3.0 -2.085
-2.213* -1.271

-2.0 -0.972
-1.8 -0.642
-2.017* -0.998

-2.01 -0.987
-2.02 -1.002
-2.018* -1.000
*
valeur obtenue par interpolation linéaire.

Ift2421 41 Chapitre 6
Méthodes des différences finies

2 étapes :

1. Étape de discrétisation :
• Diviser l’intervalle en sous intervalle de longueur h.
• Dérivées approchées par des formules de différence.

2. Résolution du système discrétisé :

• Systèmes linéaires pour des équations différentielles


linéaires et systèmes non linéaires pour des équations
différentielles non linéaires.
• Propriétés mathématiques des matrices obtenues par
discrétisation (matrices tridiagonales, ou symétriques, ou
définies positives).

Problème linéaire à résoudre


x ′′(t ) = t + (1 − 0.2 t ) x (t )

Avec les conditions aux limites (frontières) :


x(1) = 2 et x(3) = -1

Différences centrées :
dx xi +1 − xi −1 d 2
x xi +1 − 2 xi + xi −1
= + O( h )
2
= + O ( h 2
)
dt 2h dt 2 h2

Substituer ces formules dans l’équation différentielle et choisir


un pas.

Ift2421 42 Chapitre 6
Méthodes des différences finies
Étape de discrétisation

xi +1 − 2 xi + xi −1
= ti + (1 − 0.2ti ) xi
h2

Pour i = 2, ..., n-1


avec ti = t1 + (i − 1)h et xi = x (ti )
Nous avons: t1=1 et x1=2 tn=3 et xn=-1

Précision de l'approximation:
• Valeur du pas h
• Type de différences utilisées.

[ ]
xi −1 − 2 + h 2 (1 − 0.2ti ) xi + xi +1 = h 2 ti

Remarque:
Ici: O(h2)
Appliquer la technique d'extrapolation de
Richardson.

(1)
Calculer une solution xi avec un pas h.
(2)
Calculer une solution x2i +1 avec un pas 2h.
Ensuite grâce à l'extrapolation de
Richardson, calculer une nouvelle solution.
x2( extrapolation
i +1
)
= x (2)
2i +1 +
3
(
1 (2)
x2i +1 − x2(1i )+1 )

Ift2421 43 Chapitre 6
Méthodes des différences finies

Pour i = 2, ..., n-1

[ ]
xi −1 − 2 + h 2 (1 − 0.2ti ) xi + xi +1 = h 2 ti

Nous avons: t1=1 et x1=2, tn=3 et xn=-1

Considérons h = 0.5 :
x1 − [2 + h 2 (1 − 0.2t2 )]x2 + x3 = h 2 t2
x2 − [2 + h 2 (1 − 0.2t3 )]x3 + x4 = h 2t3
x3 − [2 + h 2 (1 − 0.2t4 )]x4 + x5 = h 2t4

− 2.175 1 0   x2  − 1.625
     
 1 − 2.150 1 ⋅
  3 
x = 0.500 
 0 1 − 2.125  x4   1.625

Nous obtenons: x1 = 2
x2 = 0.552
x3 = −0.424
x4 = −0.964
x5 = −1

Ift2421 44 Chapitre 6
x ′′(t ) = t + (1 − 0.2 t ) x (t )

Avec les conditions aux limites : x(1) = 2 et x(3) = -1

Pour h=0.2 :

− 2.0304 1 0 0 0 0 0 0 0  − 1952
. 
 1 − 2.0288 1 0 0 0 0 0 0   0.056 
  
 0 1 − 2.0272 1 0 0 0 0 0   0.064 
   
 0 0 1 − 2.0256 1 0 0 0 0   0.072 
 0 0 0 1 − 2.0240 1 0 0 0 ⋅x =  0.080 
   
 0 0 0 0 1 − 2.0224 1 0 0   0.088 
 0 0 0 0 0 1 − 2.0208 1 0   0.096 
   
 0 0 0 0 0 0 1 − 2.0192 1   0104
. 
 0 − 2.0176  1112 
 0 0 0 0 0 0 1  . 

Note: le système est tridiagonal.

Résultats:

Méthode Méthode
t des différences finies de tir
1.0 2.000 2.000
1.2 1.351 1.348
1.4 0.792 0.787
1.6 0.311 0.305
1.8 -0.097 -0.104
2.0 -0.436 -0.443
2.2 -0.705 -0.712
2.4 -0.903 -0.908
2.6 -1.022 -1.026
2.8 -1.058 -1.060
3.0 -1.000 -1.000

Ift2421 45 Chapitre 6
Méthodes des différences finies

x ′′(t ) = t + (1 − 0.2 t ) x (t )

Avec les conditions aux limites (frontières) :


x(1) = 2 et x(3) = -1

Ift2421 46 Chapitre 6
Conditions limites sur les dérivées.
Méthode de tir.

x ′′(t ) = t + (1 − 0.2 t ) x (t )

Avec les conditions aux limites :


x ′(1) = 0 et x ′( 3) = −1

Essais sur la valeur de x(1):

On essaie 2 tirs en remplaçant par les conditions initiales:

Premier tir: x1 (1) = 2 et x1′(1) = 0

Deuxième tir: x2 (1) = 8 et x2′ (1) = 0

Combiner les 2 solutions avec x1′( 3) et x2′ (3)

x1′( 3) et x2′ (3) sont estimées avec la formules des différences


divisées.

Ift2421 47 Chapitre 6
Conditions limites sur les dérivées.
Méthode des différences finies.

x ′′(t ) = t + (1 − 0.2 t ) x (t )

Avec les conditions aux limites :


x ′(1) = 0 et x ′( 3) = −1

Se discrétise en :
xi +1 − 2 xi + xi −1
= ti + (1 − 0.2ti ) xi
h2
[ ]
xi −1 − 2 + h 2 (1 − 0.2ti ) xi + xi +1 = h 2 ti

Mais maintenant, cela est valable pour i = 1, ..., n.

Nous rajoutons 2 points : ( t0 , x0 ) et (tn+1 , xn+1 )


tels que:

x2 − x0 = 2h x ′(t1 )

xn +1 − xn −1 = 2h x ′(tn )

Remarque:
Nous connaissons les dérivées aux limites
x ′(1) = 0 et x ′( 3) = −1

Ift2421 48 Chapitre 6
Exemple:
x ′′(t ) = t + (1 − 0.2 t ) x (t )
Avec les conditions aux limites : x ′(1) = 0 et x ′( 3) = −1

Considérons h = 0.5 :

x1 − [2 + h 2 (1 − 0.2t2 )]x2 + x3 = h 2 t2
x2 − [2 + h 2 (1 − 0.2t3 )]x3 + x4 = h 2t3
x3 − [2 + h 2 (1 − 0.2t4 )]x4 + x5 = h 2t4

x2 − x0 = 2h x ′(t1 )
x6 − x4 = 2h x ′(t5 )

− 2.2 2 0 0 0   x1  0.250
 1 − 2.175 1 0 0   x2  0.375
     
 0 1 − 2.15 1 0  ⋅  x3  = 0.500
     
 0 0 1 − 2.125 1 x
  4  0. 625
 0 0 0 2 − 2.1  x5  1750
. 
x1 = −3.4795
x2 = −3.70245
x3 = −4.19833
x4 = −4.82395
x5 = −5.42757

Ift2421 49 Chapitre 6

Vous aimerez peut-être aussi