|
Visites depuis le 14 juin 2002 |
Chapitre VI : Résolution numériques
des équations différentielles
2. Méthodes de résolution des équations
différentielles
2.1. Méthode d'Euler
2.2.1. Méthode
de Runge-Kutta à l'ordre 2
2.2.2. Méthode
de Runge-Kutta à l'ordre 4
2.2. Méthode de Runge-Kutta
à pas unique
2.3. Méthode d'Adams à
pas multiple
2.3.1. Formules
d'Adams ouvertes
2.3.1.1. Formules d'Adams à l'ordre 1
2.3.1.2. Formules d'Adams à l'ordre 2
2.3.1.3. Formules d'Adams à l'ordre 3
2.3.1.4. Formules d'Adams à l'ordre plus élevé
2.3.2. Formules
d'Adams fermées
2.4. Méthode de Prédicteur-Correcteur
2.5. Problèmes avec des
conditions aux limites : Méthode de TIR
2.6. Problèmes avec des
conditions aux limites : Méthode Matricielle
Les méthodes analytiques ne sont pas suffisantes pour résoudre les problèmes d'équations différentielles. En effet, il existe plusieurs types d'équation différentielles. Chaque type nécessite une méthode de résolution particulière.
La résolution de la plupart des équations différentielles requiert donc l'utilisation de méthodes numériques. Chacune de ces méthodes peut être appliquée à la résolution de la plupart des équations différentielles.
Les équations différentielles peuvent être classées en deux catégories : les équations différentielles aux conditions initiales et les équations différentielles aux conditions aux limites.
Exemples :
1°) Soit l'équation différentielle suivante :
On donne en plus de cette équation différentielle les conditions initiales suivantes :
et
Dans cette équation, la variable indépendante peut être
le temps, mais aussi toute autre variable. Dans ce cas, on peut dire que
toute équation différentielle d'ordre
avec des conditions initiales peut être remplacée par un système
de
équations
différentielles couplées du 1er ordre. En posant
,
le système précédent devient :
avec :
Ainsi, un problème aux conditions initiales est donc de la forme :
où
et
On obtient alors un système de
équations à
inconnues. Ce système peut être résolu par rapport
à une seule variable (le temps par exemple) :
Les méthodes employées pour la résolution du système
précédent se généralisent de façon immédiate
pour résoudre les systèmes de
équations à
inconnues.
2°) Soit l'équation de la propagation de la chaleur le long d'une barre :
Ce problème est à conditions aux limites.
Dans de nombreux cas, on trouve des problèmes où les conditions
aux limites (ou les conditions initiales) n'ont pas de sens physique.
2. Méthodes de résolution des équations différentielles
La méthode d'Euler est la méthode la plus simple
et la moins précise.
Soit à résoudre l'équation différentielle
suivante :
En supposant
connue à l'instant t, le développement en série de
Taylor
de
au
voisinage de
donne :
à l'ordre 1, on obtient :
Pour
constant, on a :
est connue
à
,
donc, la fonction y peut être déterminée à
tout autre instant ultérieur.
Exemple :
Résoudre l'équation différentielle du 1er ordre suivante :
La solution exacte de ce système est :
Selon la méthode d'Euler, la solution de ce système s'écrit :
car
Dans le tableau ci-dessous, donne une comparaison entre la solution
numérique et la solution exacte obtenue analytiquement pour un pas
de temps
s
:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
D'après ce tableau, on remarque que l'erreur augmente au fur
et à mesure que
augmente. Donc, cette méthode est peu précise. Elle n'est
pas utilisée dans la résolution numérique des équations
différentielles. Nous l'avons utilisée pour introduire les
autres méthodes et donner une simple idée sur l'erreur commise.
2.2. Méthode de Runge-Kutta à pas unique
Les méthodes de Runge-Kutta sont bien utilisée
dans la pratique, car elles présentent plusieurs avantages (facilité
de programmation, stabilité de la solution, modification simple
du pas et la connaissance de
suffit pour intégrer l'équation différentielle). Les
inconvénients de cette méthode se résument au temps
de calcul lent et à la difficulté de l'estimation de l'erreur
locale.
2.2.1. Méthode de Runge-Kutta à l'ordre 2
Cette méthode est obtenue en prenant les différences centrées au 1er ordre :
Or
est inconnue. Dans ce cas, on remplace
par sa valeur estimée
dans l'équation précédente, et on obtient :
Pour évaluer
,
la fonction
doit être
calculée deux fois, d'où l'appellation "Formule d'ordre
2" : la première fois pour l'obtention de
et la seconde fois pour évaluer
.
2.2.2 Méthode de Runge-Kutta à l'ordre 4
Dans la plupart des cas, la méthode de Runge-Kutta utilisée est celle d'ordre 4 :
Le calcul de
nécessite alors 4 évaluations de la fonction
,
et par suite pour les fonctions compliquées le temps de calcul devient
important.
2.3. Méthode d'Adams à pas multiple
Cette méthode est l'une des catégories à pas multiples. Elle peut être classée en formules ouvertes ou formules fermées.
2.3.1. Formules d'Adams ouvertes
Soit l'équation différentielle suivante :
(1)
Le développement en série de Taylor autour de
donne :
Dans l'équation différentielle (1), on a :
où :
(2)
2.3.1.1. Formules d'Adams à l'ordre 1
Dans l'équation (2), on garde les deux premiers termes (à l'ordre 1) :
(3)
C'est l'équation d'Euler (ou méthode d'Euler).
2.3.1.2. Formules d'Adams à l'ordre 2
On utilise les trois premiers termes de l'équation (2) :
(4)
On remplace
par son expression en fonction des différences finies à gauche,
et on obtient :
et l'expression (3) devient :
ou encore :
Les termes d'ordre 3 sont négligés. Donc, la formule est
d'ordre 2. Pour calculer
,
il faut connaître
et
. On
remarque que
ne
peut pas être déterminée car on ne connaît
pas
.
Pour démarrer cette méthode, il faut utiliser une autre méthode
pour évaluer
(méthode de Runge-Kutta à l'ordre 2 par exemple).
2.3.1.3. Formules d'Adams à l'ordre 3
On utilise les 4 premiers termes de l'équation (2) :
On exprime
et
par
leurs formules obtenues à partir des différences à
gauches, et on trouve :
D'où la solution devient après regroupement des différents
termes :
On a la même remarque que précédemment, on calcule
et
en
utilisant la méthode de Runge-Kutta à l'ordre 4.
2.3.1.4. Formules d'Adams à l'ordre plus élevé
En utilisant le même principe, on peut exprimer, par une formule
générale d'ordre
,
en fonction de
et
:
(4)
Dans le tableau suivant, on donne les valeurs de
jusqu'à
,
ce qui correspond à une formule d'ordre 6.
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
||||
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
La formule la plus couramment utilisée est celle d'ordre 4 :
2.3.2. Formules d'Adams fermées
Dans ces formules, on utilise le développement en série de Taylor "en arrière" :
Dans ce développement en série de Taylor, on remarque que :
D'où pour
,
on a :
Ainsi, on obtient :
Cette formule est dite "fermée" car pour obtenir l'inconnue
,
il faut calculer
qui
dépend lui même en général de
.
On utilise donc une méthode itérative. Pour
cela, on injecte une première valeur estimée
de
.
On obtient alors une nouvelle
:
(pour l'ordre 1 par exemple)
Ensuite, on injecte
pour calculer
.
On arrête les calculs quand la convergence est réalisée.
Si cette convergence s'effectue quand la précision est inférieure
à une valeur
donnée, on a donc :
à l'ordre
,
on obtient la formule généralisée suivante :
Les valeurs de
sont donnée par le tableau ci-dessous jusqu'à
.
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
||||
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
La méthode la plus couramment utilisée est celle à l'ordre 4, c'est à dire :
On constate que les formules fermées, qui sont itératives,
demandent plus de temps de calcul que les formules ouvertes, puisqu'il
faut calculer
de telle sorte que la différence converge vers
.
Pour le même ordre, ces formules sont bien plus précises
et plus stables que celles dites "ouvertes". Leur convergence est
d'autant plus rapide que l'estimation initiale
est plus proche de la valeur exacte
.
2.4. Méthode de Prédicteur-Correcteur
La combinaison des deux méthodes précédentes (formules
d'Adams ouvertes et formules d'Adams fermées) constitue la méthode
de prédicteur-correcteur. Il suffit de trouver une valeur estimée
proche de la valeur finale
.
Le prédicteur
est obtenu par une formule ouverte de même ordre. Cette valeur
est introduite dans la méthode à formule fermée. Ceci
permet d'accélérer la convergence vers la solution. Ainsi,
on profite des avantages liés à la méthode d'Adams
: temps de calcul réduit et erreur estimée de troncature
réduite considérablement.
Pour la méthode d'Adams au 4ème ordre, on a
:
Prédicteur : formules d'Adams ouvertes au 4ème ordre :
(5)
au pas précédent, on a
qui est la valeur du prédicteur (modificateur)
(6)
Correcteur : obtenu à partir de la formule d'Adams fermée (au 4ème ordre par exemple) :
(7)
Les valeurs
,
et
peuvent
être calculées à partir des formules de Runge-Kutta.
Étant donné que
n'existe pas, la valeur
est calculée à partir des équations (5) et (6) et
va initialiser les calculs d'itérations (formule (7)). À
partir de
,
on estime
par l'équation (5), puis
par la formule (6). Cette valeur est injectée dans la formule (7)
pour amorcer les itérations.
Exercice :
Résoudre l'équation différentielle suivante par
la méthode de Runge-Kutta à l'ordre 4, puis par la méthode
de prédicteur-correcteur d'ordre 4 en se limitant à une itération
pour le correcteur. On prendra
et on comparera les résultats obtenus par les deux méthodes
pour
par exemple :
2.5. Problèmes avec des conditions aux limites : Méthode de TIR
La méthode de TIR consiste à remplacer le problème de conditions aux limites par un problème de conditions initiales. Les conditions aux limites qui ne sont pas des conditions initiales ne peuvent se concevoir que pour des équations différentielles d'ordre au moins égal à 2, ou pour les systèmes d'équations différentielles du 1er ordre.
Soit l'équation différentielle du second ordre suivante :
(8)
avec les conditions aux limites suivantes :
On remplace ces conditions aux limites par des conditions initiales :
où
est arbitraire
En utilisant les méthodes décrites précédemment,
la résolution de (8) donne une solution
qui, pour
,
prend la valeur
.
Cette solution est une fonction de
,
et on cherche
de telle sorte qu'on ait :
Ainsi, le problème devient une équation dont on est amené à chercher sa racine.
Pour résoudre l'équation (8), on donne 2 valeurs arbitraires
et
; ce
qui donne
et
puis
on déduit une valeur
par interpolation linéaire. Ayant obtenu
et
à
partir de
et
, on
en déduit
dans le cas général par :
(9)
La convergence est réalisée quand
et
seront
suffisamment proches l'une de l'autre.
Exemples :

Cette équation du 3ème ordre peut être
ramenée à un système de 3 équations du 1er
ordre, en posant :
d'où :
avec
:
Ce système est à conditions aux limites. Pour le résoudre, on le transforme en un système aux conditions initiales :
avec
:
Ce système peut être résolu par l'une des méthodes
décrites précédemment (prédicteur-correcteur
avec initialisation ou Runge-Kutta) ensuite on détermine
la valeur de
pour que
soit égal à 1.
Si l'équation est à coefficients dépendants de l'inconnue, peut s'écrire sous la forme suivante par exemple :
Ces équations peuvent être résolues par décomposition
en un système de
équations à
inconnues du 1er ordre, comme c'est le cas de l'exemple précédent
(équation 10) :
Cette équation peut être écrite sous la forme :
et on remplace l'ensemble des conditions aux limites par des conditions
initiales.
2.6. Problèmes avec des conditions aux limites : Méthode Matricielle
Equation différentielle du second ordre : différences finies
Soit à résoudre l'équation différentielle du second ordre suivante :
(11)
On suppose connues :
(conditions aux limites)
On divise l'intervalle
en
intervalles
égaux à
.
On utilise les formules d'ordre 2 aux différences centrées :
L'équation (11) devient en
et pour
:
Après regroupement des différents termes, on obtient :
équation qui peut être écrite aussi sous la forme suivante la plus simple :
Pour
variant de 1 à
,
on obtient un système de
équations à
inconnues
(où
).
La première équation de ce système correspond à
et la dernière correspond à
.
Ces deux équations s'écrivent, puisqu'on connaît les
conditions aux limites
et
:

Ainsi, le système d'équations (12) devient :
Ce système est défini par une matrice tridiagonale. Sa
résolution est simple et rapide : (
équations à
inconnues
).
Pour aboutir à la précision recherchée, on résout
le système plusieurs fois avec des pas
,
etc. jusqu'à la convergence souhaitée.