Nothing Special   »   [go: up one dir, main page]

Handout 6

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

Université Mohammed V de Rabat Département Génie Électrique

École Mohammadia d’Ingénieurs Méthodes Numériques


AU 2021–2022 Khalil Amine

Handout 6 – Équations Différentielles Ordinaires (EDO)

1 Généralités : discrétisation et schémas numériques

Une équation différentielle ordinaire (EDO) est une équation dont la ou les inconnues sont des fonctions
ne dépendent que d’une seule variable. La résolution numérique des équations différentielles, notamment
ordinaires, couvre de nombreuses applications en mécanique, en transfert de chaleur, en biologie et en
économie.
Les méthodes numériques de résolution des équations différentielles permettent de résoudre en temps
raisonnable et avec une certaine précision des équations que leurs solutions analytiques sont inconnues
ou difficiles à calculer.

Definition 1 Une équation différentielle est dite d’ordre n, si elle fait apparaître une dérivée neme d’une
fonction y qui s’écrit en fonction de ses dérivées d’ordre inférieur à n : y(n−1) , y(n−2) , . . . , y.

Une équation différentielle du premier ordre est toute relation de type :

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

avec f : R+ × Rn → Rn et y : R+ → Rn continûment dérivable.

Definition 2 On appelle problème de Cauchy, le couplage d’une EDO et d’une condition initiale :
 0
y (t) = f (t, y(t))
y (0) = y0

Cette forme est dite forme canonique d’un problème de Cauchy. Une fonction y qui satisfait ce problème
est dite intégrale ou solution particulière de l’équation différentielle y0 (t) = f (t, y(t)).

La variable t, dite variable indépendante, représente, dans plusieurs applications, le temps. La variable
y, dite variable dépendante, dépend de la variable t. La fonction f peut être une fonction quelconque
de deux variables suffisamment différentiable. Si f est linéaire (respectivement non-linéaire), l’équation
différentielle est dite linéaire (respectivement non-linéaire).

Exercice 1
Déterminer le problème de Cauchy (sous forme canonique) associé au modèle suivant :
 0
 α (t) = 1 + 2α2 (t) β(t) − α(t)
β0 (t) = −2α2 (t) β(t) + 2α(t)
α (0) = 0 , β (0) = 0

Noter qu’il faut chercher une fonction f : R+ × R2 → R2 et une variable dépendante y : R+ → R2 .

1/8
Puisque l’ordinateur ne peut renvoyer qu’un nombre fini de résultats, la résolution numérique d’un
problème de Cauchy consiste à définir une discrétisation de R+ : 0, t1 , . . . , tn , . . . et de calculer les
valeurs approximative de la variable dépendante : y0 , y1 , . . . , yn , . . . , approchant les valeurs réelles
y(0), y(t1 ), . . . , y(tn ), . . . Si la discrétisation est uniforme, alors on définit le pas de discrétisation étant
le réel h = tn − tn−1 pour tout n > 0. La discrétisation permet de définir un schéma numérique de type :

yn+1 = F (t, h, yn )
y0
avec F une fonction à trois variables. Cette méthode de résolution est dite à un pas parce que pour obtenir la
solution yn+1 en tn+1 , on utilise seulement la solution numérique yn au temps tn . On désigne par méthodes
à pas multiples les méthodes qui exigent également la solution numérique aux d’autre temps antérieurs
parmi tn−1 , tn−2 , . . . , t0 . Ainsi, une méthode numérique à q pas s’écrit sous la forme :

yn+1 = F (t, h, yn , yn−1 , . . . , yn−q+1 )
y0
Remarque 1 Ne pas confondre le pas de discrétisation et le pas d’un schéma numérique. Si le pas de
discrétisation n’est pas uniforme on remplace h par un pas hn = tn − tn−1 .

Exemple 1 On considère le problème de Cauchy suivant :


 0
y (t) = 3y(t) − 2t
y (0) = 1
2 2
La solution de l’EDO est donnée par : y0 (t) = ce3t + t + avec c une constante réelle. Du fait que
3 9
2 7
y(0) = 1, alors c + = 1 ce qui donne c = . Ainsi, la solution du problème est la solution particulière
9 9
7 2 2
de l’EDO qui vérifie la condition (initiale) de Cauchy, donnée par : y(t) = e3t + t + .
9 3 9
On considère les deux schémas numériques explicites suivants avec un pas de discrétisation 1 :
17
 (
y n +1 = 4yn − 2tn z n +1 = zn − 5tn − 1
y0 = 1 2
z =1 0

L’approximation des cinq premiers termes de la variable dépendante y par les deux schémas numériques
est donnée par :

tn y yn |y − yn | zn |y − zn |
0 1.00 1.00 0.00 1.00 0.00
1 16.51 4.00 12.51 2.50 14.01
2 315.33 14.00 301.33 10.25 305.08
3 6304.62 52.00 6252.62 71.13 6233.50
4 126589.95 202.00 126387.95 583.56 126006.39
5 2542572.62 800.00 2541772.62 4934.28 2537638.34

Remarque 2 A priori, une bonne approximation exige un pas de discrétisation h petit.

Definition 3 On appelle équation aux différences à q pas, l’écriture d’un schéma numérique sous la
forme : 
yn+1 = yn + hφ(t, yn , yn−1 , . . . , yn−q+1 )
y0
où φ une fonction quelconque ne dépend pas du terme yn+1 . Le schéma est dit dans ce cas un schéma
numérique explicite.

2/8
Exemple 2 Soit à approcher la solution du problème de Cauchy de l’exemple précédent :
 0
y (t) = 3y(t) − 2t
y (0) = 1

à l’instant t = 1. On considère le schéma numérique :



y n +1 = yn + h (3yn − 2tn )
y0 = 1

avec un pas variable égal respectivement 1, 0.1, 0.01, 0.001 et 0.0001. L’approximation de y(1) ≈ 16.5110
par la méthode numérique est donnée par :

h Formule de récurrence yn |y − yn |
1 4yn − 2tn 4.0000 12.5110
13
0.1 10 yn − 51 tn 11.6112 4.8998
103 1
0.01 100 yn − 50 tn 15.8367 0.6743
1003 1
0.001 1000 yn − 500 tn 16.4410 0.0700
1003 1
0.0001 1000 yn − 500 tn 16.5039 0.0707

Remarque 3 Pour un schéma numérique à q pas, le calcul d’un terme yn à partir de l’équation aux
différences n’est possible qu’à partir de l’indice n = q. La méthode doit être complétée par une
initialisation, sinon par une méthode à un pas pour le calcul des q premiers termes.

Definition 4 On appelle schéma numérique implicite à q pas toute méthode qui s’écrit sous la forme :

yn+1 = yn + hφ(t, yn+1 , yn , yn−1 , . . . , yn−q+1 )
y0

où φ est une fonction quelconque.

Definition 5 On appelle erreur globale absolue d’une méthode de résolution numérique d’une EDO
y(t) = f (t, y(t)), la donnée :
en = | y ( t n ) − yn |

Remarque 4 Noter que l’erreur introduite à la première itération a des répercussions sur les calculs de
la deuxième itération, ce qui signifie que les erreurs se propagent d’une itération à l’autre. Il en résulte de
façon générale que l’erreur en = |y(tn ) − yn | augmente légèrement avec n.

Definition 6 On dit qu’une méthode de résolution numérique est convergente si lim en = 0.


h →0

Definition 7 On appelle erreur locale de troncature ε n la donnée

ε n = y(tn+1 ) − y(tn ) − hn f (tn , y(tn ))


N −1
Une méthode numérique est dite consistante si lim ∑ |ε n | = 0, où N est le plus grand nombre induit par
h →0 n =0
la discrétisation h qui donne le dernier terme d’approximation en t N .

Remarque 5 La considération de N vient du fait que, en pratique, la résolution d’une EDO se limite à un
intervalle borné de R+ afin de limiter le nombre d’itérations (N).

3/8
Exercice 2
On considère l’EDO : y0 (t) + 2ty(t) − y(t) = 0 définie sur [0, 0.9], augmentée de la condition initiale :
y(0) = 1. Et on considère le schéma numérique de résolution :

h
(
y n +1 = y n + f (t, yn )
2
y0

pour toute EDO de la forme y0 (t) = f (t, y(t)).


1. Déterminer le problème de Cauchy (sous forme canonique) associé à ce problème.
2. Donner la solution analytique du problème.
3. On considère deux discrétisations de l’intervalle [0, 0.9] : h = 0.1 et k = 0.3. Donner pour chaque
cas, la formule de récurrence pour calculer les approximations de y, calculer les termes de y et leurs
erreurs absolues.
4. Étudier la consistance de cette méthode de résolution.

2 Méthode d’Euler

La méthode d’Euler explicite est une méthode simple de résolution numérique d’équations différentielles
ordinaires qui consiste à considérer le schéma numérique suivant :

yn+1 = yn + h f (t, yn )
y0

pour tout problème de Cauchy :


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


y (0) = y0

Algorithme 1 Méthode d’Euler


Input: Un pas de discrétisation h, une condition initiale (t0 , y0 ) et un nombre maximal d’itérations N
Output: Une solution approchée de y
1: pour n de 0 à N − 1 faire
2: y n +1 ← y n + h f ( t n , y n )
3: t n +1 ← t n + h
4: fin pour
5: Retourner les (tn+1 , yn+1 ) pour n = 0, . . . , N − 1

Proposition 1 La méthode d’Euler est d’ordre 1.

Exercice 3
On considère l’EDO : y0 (t) + 2ty(t) − y(t) = 0 définie sur [0, 0.9], augmentée de la condition initiale :
y(0) = 1.
1. Résoudre le problème de Cauchy associé par la méthode d’Euler en considérant les deux
discrétisations de l’intervalle [0, 0.9] : h = 0.1 et k = 0.3.
2. Comparer les résultats avec l’exercice 2.

4/8
Exercice 4
On considère l’équation différentielle :
y0 (t) = 2y(t)


y (0) = 5

1. Vérifier que la solution analytique est y(t) = 5e2t .


1
2. En posant h = , montrer que les approximations fournies par la méthode d’Euler explicite peuvent
N
s’écrire yn = 5(1 + 2h)n , pour n = 0, . . . , N.
3. Vérifier numériquement que l’erreur e(h) se comporte suivant la relation e(h) ≈ Kh, où K est une
constante à déterminer.

Exercice 5
On considère une fonction f : [t0 , t0 + T ] −→ R, avec t0 , T ∈ R. Soit le problème de Cauchy suivant :
 0
y (t) = f (t, y(t)), t ∈ [t0 , t0 + T ]
y ( t0 ) = y0 ∈ R

On suppose de plus qu’il existe une constante C > 0 tel que pour tout t ∈ [t0 , t0 + T ] et pour tous x, y ∈ R
on a :
| f (t, x ) − f (u, y)| ≤ C | x − y|
1. Donner le schéma d’Euler explicite à pas de temps constant correspondant a ce problème.
2. Jusqu’à quel ordre ce schéma est-t-il convergent ?
3. Applications : pour les deux problèmes suivants :
 0  0
y (t) = t sin(y(t)), t ∈ [0, T ] y (t) = t2 + y(t) + 1, t ∈ [1, T ]
( P1) ( P2 )
y(0) = π2 y (1) = 1

(a) Écrire le schéma d’Euler explicite en prenant un pas de temps constant.


(b) Écrire les 2 premières itérations en prenant comme pas de temps h = 0.1.
(c) Est-ce que ce schéma converge vers chacune des solutions de ces problèmes ?

Exercice 6
En utilisant la la méthode d’Euler explicite avec h = 0.2, montrer que la solution du problème de Cauchy :
 0
y ( t ) = t2 − y ( t )2 , t > 0
y (0) = 1

est approximativement y(0.4) ≈ 0.68.


Quel serait le résultat si le calcul est répété avec h = 0.1.

Exercice 7
1. Déterminer la relation de récurrence pour obtenir yn+1 en fonction de yn si on applique la méthode
d’Euler explicite à l’EDO y0 (t) = λy(t)2 , y(0) = 1 et λ = −10.
1 1
2. Dans chacun des cas h = et h =
6 12
(a) Calculer y1 , y2 et y3 .
(b) Tracer les points (t0 , y0 ), (t1 , y1 ), (t2 , y2 ) et (t3 , y3 ) et comparer avec un tracé de la solution
exacte.
3. Commenter les résultats.
4. Quelle est la plus grande valeur de h qu’il est possible d’utiliser quand λ = −10 pour assurer que
yn > 0 pour tout n = 1, 2, 3, . . . ?

5/8
3 Méthode de Taylor

Le développement de Taylor autorise une généralisation immédiate de la méthode d’Euler, qui permet
d’obtenir des algorithmes dont l’erreur de troncature locale est d’ordre plus élevé.
On cherche une approximation de la solution en tn+1 à partir de l’approximation au temps tn . On a
immédiatement :
y00 (tn )h2
y ( t n +1 ) = y ( t n + h ) = y ( t n ) + y 0 ( t n ) h + + O ( h3 )
2

Ce qui donne :
f 0 (tn , y(tn )) h2
y(tn+1 ) = y(tn ) + f (tn , y(tn )) h + + O ( h3 )
2
Or, d’après la règle de la dérivation en chaîne, on a :
∂ f (t, y(t)) ∂ f (t, y(t)) 0
f 0 (t, y(t)) = + y (t)
∂t ∂y
∂ f (t, y(t)) ∂ f (t, y(t))
= + f (t, y(t))
∂t ∂y

Ce qui donne en négligeant les termes d’ordre supérieur ou égal à 3, la formule de récurrence de la méthode
de Taylor :

h2 ∂ f (tn , y(tn )) ∂ f (tn , y(tn ))


 
y(tn+1 ) ≈ y(tn ) + h f (tn , y(tn )) + + f (tn , y(tn ))
2 ∂t ∂y
Proposition 2 La méthode de Taylor est d’ordre 2.

Algorithme 2 Méthode de Taylor


Input: Un pas de discrétisation h, une condition initiale (t0 , y0 ) et un nombre maximal d’itérations N
Output: Une solution approchée de y
1: pour n de 0 à N − 1 faire
h2 ∂ f ( t n , y n ) ∂ f ( t n , y n )
 
2: y n +1 ← y n + h f ( t n , y n ) + + f (tn , yn )
2 ∂t ∂y
3: t n +1 ← t n + h
4: fin pour
5: Retourner les (tn+1 , yn+1 ) pour n = 0, . . . , N − 1

Exercice 8
Appliquer la méthode de Taylor sur l’équation :
 0
y (t) = −y(t) + t + 1
y (0) = 1

en considérant un pas h = 0.1 et comparer les résultats avec la méthode d’Euler.

Remarque 6 Il est possible d’obtenir des méthodes de Taylor encore plus précises en poursuivant le
développement de Taylor de y(tn+1 ) jusqu’à des termes d’ordre élevé. On doit alors évaluer les dérivées de
la fonction f (t, y(t)) d’ordre de plus en plus élevé, ce qui nécessite des calculs supplémentaires. Il existe
cependant un moyen de contourner cette difficulté en développant des méthodes dite de Runge-Kutta.

6/8
4 Méthode de Runge-Kutta d’ordre 2

Les techniques de Runge-Kutta sont des schémas numériques à un pas qui permettent de résoudre les
équations différentielles ordinaires.

Algorithme 3 Méthode de Runge-Kutta d’ordre 2


Input: Un pas de discrétisation h, une condition initiale (t0 , y0 ) et un nombre maximal d’itérations N
Output: Une solution approchée de y
1: pour n de 0 à N − 1 faire
2: yb ← yn + h f (tn , yn )
h
3: yn+1 ← yn + ( f (tn , yn ) + f (tn + h, yb))
2
4: t n +1 ← t n + h
5: fin pour
6: Retourner les (tn+1 , yn+1 ) pour n = 0, . . . , N − 1

Une variante de la méthode Runge-Kutta d’ordre 2, dite méthode du point milieu, se présente comme suit :

Algorithme 4 Méthode du point milieu


Input: Un pas de discrétisation h, une condition initiale (t0 , y0 ) et un nombre maximal d’itérations N
Output: Une solution approchée de y
1: pour n de 0 à N − 1 faire
2: k1 ← h f (tn , yn )  
h k1
3: y n +1 ← y n + h f t n + , y n +
2 2
4: t n +1 ← t n + h
5: fin pour
6: Retourner les (tn+1 , yn+1 ) pour n = 0, . . . , N − 1

7/8
5 Méthode de Runge-Kutta d’ordre 4

À partir d’un développement de Taylor de la fonction f à l’ordre 5, la méthode de Runge-Kutta d’ordre 4 a


été introduite et qui se présente comme suit :

Algorithme 5 Méthode de Runge-Kutta d’ordre 4


Input: Un pas de discrétisation h, une condition initiale (t0 , y0 ) et un nombre maximal d’itérations N
Output: Une solution approchée de y
1: pour n de 0 à N − 1 faire
2: k1 ← h f (tn , yn ) 
h k1
3: k2 ← h f tn + , yn +
 2 2
h k2
4: k3 ← h f tn + , yn +
2 2
5: k4 ← h f (tn + h, yn + k3 )
1
6: yn+1 ← yn + (k1 + 2k2 + 2k3 + k4 )
6
7: t n +1 ← t n + h
8: fin pour
9: Retourner les (tn+1 , yn+1 ) pour n = 0, . . . , N − 1

Exercice 9
Appliquer la méthode de Runge-Kutta d’ordre 2 et la méthode de Runge-Kutta d’ordre 4 sur l’équation :
 0
y (t) = −y(t) + t + 1
y (0) = 1

en considérant un pas h = 0.1 et comparer les résultats.

Remarque 7 Plus l’ordre d’une méthode est élevé, plus cette méthode est précise. En revanche, plus l’ordre
de la méthode est élevé, plus elle est coûteuse en temps de calcul.

8/8

Vous aimerez peut-être aussi