Top Banner
République Algérienne Démocratique et Populaire Ecole Normale Supérieurs d’Enseignement Technique -ORAN- Département de Génie Electrique Magistère 1ere année en électrotechnique Option : Analyse et Commande des Machines Electrique Monographie de Méthode numérique Méthode de résolution des équations différentielles ODE Mr BOUZID Allal El Moubarek Sous la direction de : Mr. Anne universitaire 2008-2009 BELAIDI BELAIDI
68

Méthode numériques équations différentielles

Jun 19, 2015

Download

Documents

Allél Bouzzidd

Méthodes numériques, équations différentielles, PROPRIETES DES METHODES NUMERIQUES, résolution des ODE, Le problème de Cauchy, méthodes numériques, Méthodes a un pas, d'Euler explicite et implicite, Euler amélioré, Euler-Cauchy, Crank – Nicholson, Heun, Runge-Kutta, Burlish – Stoer, Runge-Kutta-Fehlberg, Adams–Bashforth–Moulton Method, Méthode de Hamming, RK4 ; Hamming, ABM , Milne Simpson, Gear, Méthode de Tir, LES PRINCIPALES METHODES NUMERIQUES, Bouzid Allal el moubarek
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Méthode numériques équations différentielles

République Algérienne Démocratique et PopulaireEcole Normale Supérieurs d’Enseignement Technique

-ORAN-

Département de Génie Electrique

Magistère 1ere année en électrotechnique

Option : Analyse et Commande des Machines Electrique

Monographie de Méthode numérique

Méthode de résolutiondes équations différentielles

ODE

Mr BOUZID Allal El Moubarek

Sous la direction de : Mr.

Anne universitaire 2008-2009

BELAIDI

BELAIDI

Page 2: Méthode numériques équations différentielles

SOMMAIRE

Introduction générale 01

Chapitre I : Résolution des ODE

Introduction 02

I.1 Définition 02

I.2 Rappel des solutions EDO simple 04

I.3 Le problème de Cauchy 04

I.4 Principe général des méthodes numériques 05

I.5 Propriétés des méthodes numériques 05

I.6 Les principales méthodes numériques 07

Chapitre II Méthodes a un pas

Introduction 09

II.1 Méthodes d'Euler explicite et implicite 09

II.2 Méthode d'Euler amélioré 15

II.3 Méthode d'Euler-Cauchy 15

II.4 Méthode de Crank – Nicholson 18

II.5 Méthode de Heun 19

II.6.Méthode de Runge-Kutta 20

II.6.1 Méthode de Rungue Kutta 2 20

II.6.2 Méthode de Runge et Kutta explicite a un point 21

II.6.3 Méthodes RK implicites à un point 22

II.6.4 Méthodes RK explicites à 2 points intermédiaires 22

II.6.5 Méthodes RK explicites à 3 points intermédiaires 22

II.6.6 Formule générale des méthodes RK explicites 24

II.7. Méthode de Burlish – Stoer 26

II.8 Comparaison entre quelques méthodes 27

II.9 Comparaison entre toutes les méthodes 29

II.10. La méthode de Runge-Kutta-Fehlberg 32

Conclusion 38

Page 3: Méthode numériques équations différentielles

Chapitre III Méthode à pas multiples

Introduction 40

III-1 Méthode Adams–Bashforth–Moulton Method 40

III.2.Méthode de Hamming 44

III.3.Comparaison des méthodes (RK4 ; Hamming, ABM) 46

III.4 Méthode de Milne Simpson 51

III.5. Méthodes de Gear 52

III.5.1 Méthode de Gear à 2 pas, implicite, d'ordre 2 52

III.5.2 Méthode de Gear à 3 pas, implicite, d'ordre 3 52

III.5.3 Méthode de Gear à 4 pas, implicite, d'ordre 4 52

III.6 problème de la valeur marginale 52

III.6.1 Méthode de Tir 53

III.7 Méthode des différences finis (Finite Difference) 56

Bibliographie 61

Page 4: Méthode numériques équations différentielles

Introduction

Page 5: Méthode numériques équations différentielles

Introduction

- 1 -

Introduction

On regroupe sous le terme générique de « méthodes numériques », toutes lestechniques de calcul qui permettent de résoudre de manière exacte ou, le plus souvent, demanière approchée un problème donné. Le concept de calcul est assez vaste et doit être pris ausens large. Il peut s'agir de déterminer l'inconnue d'une équation, de calculer la valeur d'unefonction en un point ou sur un intervalle, d'intégrer une fonction, d'inverser une matrice, etc.

Bien que la mise en équation d'un problème et sa résolution passent naturellement parles Mathématiques, les problématiques sous-jacentes concernent des disciplines aussi variéesque la Physique, l'Astrophysique, la Biologie, la Médecine, l'Economie, etc. Il existe ainsi unegrande variété de problèmes possibles avec pour chacun d'eux, des méthodes très spécifiques.De fait, le nombre total de méthodes numériques dont nous disposons à l'heure actuelle estvraisemblablement gigantesque.

L’ordinateur est aujourd’hui un outil incontournable pour simuler et modéliser lessystèmes, mais il faut encore savoir exprimer nos problèmes en langage formalisé desmathématiques pures. Nous sommes habitués à résoudre les problèmes de façon analytique,alors que l’ordinateur ne travaille que sur des suites de nombres. On verra dès lors qu’il existesouvent plusieurs approches pour résoudre un même problème, ce qui conduit à desalgorithmes différents.

Un algorithme, pour être utile, doit satisfaire un certain nombre de conditions. Il doit être :

• Rapide : le nombre d’opérations de calcul pour arriver au résultat escompté doit être aussi

réduit que possible.

• Précis : l’algorithme doit savoir contenir les effets des erreurs qui sont inhérentes à tout

calcul numérique. Ces erreurs peuvent être dues à la modélisation, à la représentation surordinateur ou encore à la troncature.

• Souple : l’algorithme doit être facilement transposable à des problèmes différents.

La résolution numérique d’équations différentielles est très souvent nécessaire, fautede l’existence de solutions analytiques.

Page 6: Méthode numériques équations différentielles

Chapitre I

Définition des équations différentielles

Page 7: Méthode numériques équations différentielles

CHAPITRE I Définition des équations différentielles

ENSET Oran - 2 -

IntroductionLes équations différentielles ordinaires (EDO) apparaissent très souvent dans la modélisation dela physique et des sciences de l'ingénieur. Trouver la solution d'une EDO ou d'un système d'EDOest ainsi un problème courant, souvent difficile ou impossible à résoudre de façon analytique. Ilest alors nécessaire de recourir à des méthodes numériques pour résoudre ces équationsdifférentielles.

I.I Définitions :

Équation d'un (premier ordre) de la forme y' = f (x, y) exprime le taux de changement de lavariable dépendante y en ce qui concerne un changement de la variable indépendante X commefonction f (x, y) de la variable indépendante X et de la variable dépendante Y.

Une solution de l'équation y' ; = f (x, y) est une fonction, que par abus de langue nous dénotonscomme y (x), tel que y' ; (x) = f (x, y (x)).

Le théorème d'existence et d'unicité des équations ordinaires du premier ordre déclare que si lafonction f est continue et remplit la condition de Lipschitz sur une certaine région fermée U×V,avec x dans U et y dans V, contenant le point intérieur (x0, y0), alors là existe une solutionunique y (x) et un sous-intervalle U0 contenant x0 et contenu dans U tels que y (x0) = y0 et (x, y(x)) est contenu dans U×V pour x dans U0.

La condition que y (x0) = y0 s'appelle l'état initial. Si la fonction f est différentiable dans larégion fermée, alors la condition de Lipschitz est automatiquement satisfaite. En outre, si lafonction f est Cn, c.-à-d. f a les dérivés continus jusqu'à la commande n, pour n > 0, dans larégion fermée, alors la solution est Cn+1 dans un voisinage de x0.

Notez que si l'état de Lipschitz n'est pas satisfaisant, alors il n'existe pas une solution ou il peutexister plus d'une solution. Si la fonction f (x, y) est indépendant de la variable dépendante y,alors la solution est y (x) = y0 + ∫ x0 f (t), où l'intégrale peut être rapprochée par une destechniques numériques dans l'intégration numérique de section.

Si la fonction f (x, y) est indépendant de la variable indépendante X, l'équation y' ; =f (y) seraitune équation autonome. Les méthodes données ci-dessous s'appliquent aux équations autonomeset non autonomes mais dans le cas autonome, l'utilisateur peut vouloir éditer les dossiers etsupprimer des références à la variable indépendante partout où la variable indépendante est miseen référence par le F.

Système de premier ordre des équations - équation évoluée :

La variable dépendante y peut être une quantité y de vecteur dans ce cas nous avons un systèmedes équations du premier ordre. Le théorème d'existence et d'unicité indiqué ci-dessus généraliseimmédiatement pour inclure la situation dans laquelle y est un vecteur dimensionnel de n. Uneéquation y de nième ordre (n) = f (x, y, y' ; , y (2),…, y (n-1)) peut être transformé à un systèmedes équations du premier ordre en définissant le z= de quantité de vecteur (z1,…, Zn) par z1=y,z2=y' ; , z3=y (2),…, zn=y (n-1), puis z' ; 1=z2, z' ; 2=z3,…, z' ; n-1=zn, et z' ; n=f (x, z1,…, Zn).

Page 8: Méthode numériques équations différentielles

CHAPITRE I Définition des équations différentielles

ENSET Oran - 3 -

Tandis qu'une équation du second degré peut être transformé à un système de premier ordrecomme décrit ci-dessus mais parce que les équations du second degré sont omniprésentes dansdes méthodes spéciales de physique et de technologie ont été développés pour les résoudre.

Soit une fonction numérique notée y(x) définie sur un intervalle de R et de classe Cp(continûment dérivable d’ordre p). On appelle équation différentielle d’ordre p une équation de laforme

F(x, y, y′, y′′, . . . y(p)) = 0 (1.1)

Ou y′ représente la dérivée première par rapport x, y′′ la dérivée seconde, etc... Plus

généralement, on appelle système différentiel un ensemble d’équations différentielles reliant unevariable x et un certain nombre de fonction yi(x) ainsi que leurs dérivées.

L’ordre du système différentiel correspond `a l’ordre de dérivation le plus élevé parmi l’ensembledes fonctions.

On appelle solution de l’équation différentielle (1.1) toute fonction y(x) de classe Cp qui vérifiel’équation (1.1).

On appelle forme canonique d’une équation différentielle une expression du type

y(p) = f(x, y, y′, y′′, . . . y(p−1)) (1.2)

Page 9: Méthode numériques équations différentielles

CHAPITRE I Définition des équations différentielles

ENSET Oran - 4 -

I.2 RAPPEL - SOLUTIONS D'EDO SIMPLESNous rappelons ici les principes de résolution des équations différentielles simples. Dans ce quisuit, la variable indépendante « t » sera notée et la variable dépendante « x(t) ».

Page 10: Méthode numériques équations différentielles

CHAPITRE I Définition des équations différentielles

ENSET Oran - 5 -

I.3 LE PROBLEME DE CAUCHYOn appelle problème de Cauchy ou problème à la valeur initiale le problème qui consiste àtrouver une fonction y(x) définie sur l'intervalle [a; b] telle que :

0)(

],[;))(,()('

yay

baxxyxfxy

Si la fonction f est continue et vérifie une condition de Lipschitz par rapport à la deuxièmevariable alors le problème admet une solution unique. On dit que le problème est bien posé.

Attention : un problème bien posé ne signifie pas qu'il peut se résoudre numériquement !

I.4 PRINCIPE GENERAL DES METHODES NUMERIQUES

Pour obtenir une approximation numérique de la solution y(x) sur l'intervalle [a; b], nous allonsestimer la valeur de cette fonction en un nombre fini de points xi, pour i = 0; 1; :::; n, constituantsles noeuds du maillage. La solution numérique discrète obtenue aux points xi est notée :yi = y (xi).

L'écart entre deux abscisses, noté h, est appelé pas de discrétisation. Ce pas, dans les méthodesles plus simples, est constant, mais il peut être judicieux de travailler avec un pas variablehi = xi – xi-1.

Le choix du maillage et de la répartition des nœuds, peut s'avérer crucial.

Les techniques de résolution des EDO sont basées sur : l'approximation géométrique de la fonction les formules d'intégration numérique (rectangle, trapèze, Simpson...) les développements de Taylor au voisinage de xi

I.5 PROPRIETES DES METHODES NUMERIQUES

Plusieurs notions mathématiques sont introduites lors de la résolution d'EDO au moyen deleurs équivalents discrétisés. Les trois principales sont la convergence, la stabilité et laconsistance, permettant de relier la solution exacte des équations continues à la solution exactedes équations discrétisées et à la solution numérique obtenue.

A ces propriétés, il convient d'ajouter la notion de précision ainsi que des aspects informatiquescomme la facilité de mise en oeuvre, les coûts CPU et mémoire.

Consistance d'une méthode :La consistance est la propriété qui assure que la solution exacte de l'équation discrétisée tendevers la solution exacte de l'équation continue lorsque le pas de discrétisation h tend vers 0.

Page 11: Méthode numériques équations différentielles

CHAPITRE I Définition des équations différentielles

ENSET Oran - 6 -

Stabilité d'une méthode :

C'est la propriété qui assure que la différence entre la solution numérique obtenue et la solutionexacte des équations discrétisées reste bornée. Le stabilité indique si l'erreur augmente ou non aucours du calcul.

Une méthode peut être stable sous condition (elle sera dite conditionnellement stable) ou toujoursstable (elle sera dite inconditionnellement stable).

Ordre de précision d'une méthode

L'erreur de troncature " est définie comme la différence entre la solution exacte~

y et

l'approximation numérique obtenue yn, soit : )()( p

nnnhyxy

. L'ordre de

précision de la méthode est donné par l'entier p.

Convergence et taux de convergence d'une méthode

Une méthode est convergente si, lorsque le pas de discrétisation tend vers 0, la solutionnumérique tend vers la solution exacte de l'équation continue.

Résultat théorique : Une méthode stable et consistante est convergente.

Page 12: Méthode numériques équations différentielles

CHAPITRE I Définition des équations différentielles

ENSET Oran - 7 -

I.6 LES PRINCIPALES METHODES NUMERIQUES :

Les principales méthodes de résolution numérique des EDO sont séparées en deux grandstypes :

Les méthodes à un pas

Pour ces méthodes, le calcul de la valeur discrète yn+1 au noeud tn+1 fait intervenir la valeur yn

obtenue à l'abscisse précédente. Les principales méthodes sont :

- Méthodes d'Euler explicite et implicite.

- Méthode d'Euler amélioré.

- Méthode d'Euler-Cauchy.

- Méthode de Crank-Nicholson.

- Méthodes de Runge et Kutta.

- Runge-Kutta-Fehlberg Method RKF45.

Les méthodes à pas multiples

Pour ces méthodes, le calcul de la valeur discrète yn+1 au noeud tn+1 fait intervenir plusieursvaleurs yn; yn-1; yn-2;…. obtenues aux abscisses précédentes. Les principales méthodes sont :

- Méthode de Nystrom ou saute-mouton.

- Méthode d'Adams-Bashforth-Moulton.

- Méthode de Gear.

- Méthode de Hamming.

- Méthode Milne-Simpson.

- Méthode Linear Shooting.

- Méthode Finite-Difference.

Page 13: Méthode numériques équations différentielles

Chapitre II

Méthode de résolution des

ODE a un pas

Page 14: Méthode numériques équations différentielles

CHAPITRE II Méthode de résolution des ODE a un pas

ENSET ORAN - 9 -

IntroductionLe but de ce chapitre est de montrer comment programmer facilement et efficacement les

schémas classiques de résolution numérique des équations différentielles à l'aide de Matlab. Onmet en évidence leurs ordres de convergence respectifs sur un exemple simple.

II.1 METHODES A UN PAS La formulation générale des méthodes à un pas explicite est :

),,(yy

donnéy

n1n

0

hyxnn

Où la fonction définit la méthode utilisée. La formulation générale des méthodes à un pas implicite est :

),,,(xyy

donnéy

1nn1n

0

hyynn

L'obtention de la solution à chaque abscisse nécessite la résolution d'une équation.Ces méthodes sont obtenues en intégrant l'équation différentielle et en utilisant des formulesd'intégration numérique pour le second membre. L'ordre du schéma est égal au degré dupolynôme pour lequel l'intégration est exacte + 1.

Résultats théoriques :

1) Si la fonction est lipchitzienne par rapport à la deuxième variable alors les méthodesexplicites sont stables.

2) Les méthodes implicites sont toujours stables.3) Les méthodes sont consistantes si x [a; b]; (x; y; 0) = (x; y).

II.1 Méthodes d'Euler explicite et impliciteEn parlant des solutions numériques aux ODE, chacune commence par la méthode

d'Euler, puisqu'elle est facile à comprendre et simple pour programmer.

Explication de la méthode d’Euler :On part d’un point M de coordonnées (XM, YM) appartenant à la solution approchée.

Le point suivant est le point E de coordonnées (XE, YE), tel que XE = XM +h et tel que le pointE est sur la droite passant par M de pente F (XM, YM),

On itère le procédé en partant du point (X0, Y0) et en reprenant à chaque étape le point E commenouveau point M, autant de fois qu’il le faut pour que X décrive l’intervalle demandé. Voir lafigure II.1.

Page 15: Méthode numériques équations différentielles

CHAPITRE II Méthode de résolution des ODE a un pas

ENSET ORAN - 10 -

Figure II.1. Méthode d’Euler

Quoique sa basse exactitude la garde d'être employée couramment pour résoudre desodes, elle nous donne un indice au concept de base de la solution numérique pour une équationsimplement et clairement.

Considérons une équation de premier ordre :

II.1.1y0y(0)avec)()(' rtayty

Sa solution analytique est de la forme suivante :

II.1.2)()(0

a

re

a

ryty at

Ce qui peut être obtenu par l'utilisation d’une méthode conventionnelle ou la technique detransformé de Laplace. Cependant, une solution analytique exacte n’exister pas pour chaqueéquation ; même si elle existe, il n'est pas facile de trouver même en utilisant un ordinateuréquipé des possibilités du calcul symbolique. C'est pourquoi nous devrions étudier les solutionsnumériques aux équations différentielles.

Comment traduisons-nous l'équation en forme qui peut facilement être manipulée par ordinateur?Tout d'abord, nous devons remplacer la dérivée y’(t)= dy/dt dans l'équation par un dérivénumérique, où le pas « h » est déterminé sur les conditions d’exactitude et les contraintes decalcul.

(II.1.3)yy(0)avec)()1()(

)()()(

0

hrtyahhty

rtayh

tyhty

Page 16: Méthode numériques équations différentielles

CHAPITRE II Méthode de résolution des ODE a un pas

ENSET ORAN - 11 -

Et résoudre cette équation différentielle point par point avec l'augmentation de t par h chaquefois, de t = 0.

.........................................................................................

)1()1()2()1()3(

(II.1.4))1()1()()1()2(

)1()0()1()(

2

00

3

0

2

0

hrahyahhrhyahhy

hrhrahyahhrhyahhy

hryahhryahhy

m

m

C'est un ordre numérique {y (KH)}, que nous appelons une solution numérique de l’équation(II.1.1).

Pour être spécifiques, on laisse les paramètres et la valeur initiale d'Eq. (II.1.1) soit a = 1, r = 1, ety0 = 0. Puis, la solution analytique (II.1.2) devient :

(II.1.5)1)( atety

Nous faisons un programme de MATLAB « comparaison1.m », qui emploie la méthode d'Eulerpour l'équation (II.1.1),

Et la solution numérique (II.1.4) avec le pas h = 0.5 et h = 0.25 sont énumérée dans le tableau II.1et représentée dans fig. II.2.

Tableau II.1 une solution numérique de l'équation (II.1.1) obtenue par la méthode del'Euler

Page 17: Méthode numériques équations différentielles

CHAPITRE II Méthode de résolution des ODE a un pas

ENSET ORAN - 12 -

Les graphiques semblent nous indiquer qu'un petit pas « h » aide réduire l'erreur afin trouver lasolution numérique la plus près de la solution analytique (vraie). En fait, un pas « h » trop petitefait non seulement le temps de calcul plus longtemps (proportionnel en tant que 1/h), mais aégalement comme conséquence des erreurs un peu plus grandes dues à l'effet approximatifaccumulé. C'est pourquoi nous devrions rechercher d'autres méthodes pour diminuer les erreursplutôt que réduisons simplement le pas « h ».

La méthode d'Euler peut également être appliquée pour résoudre une équation de vecteur depremier ordre

(II.1.6))y(tavec),()('00

yytfty

Ce qui est équivalent à une équation scalaire d'ordre élevé. L'algorithme peut être décrit près :

(II.1.7))y(tavec),(001

yythfyykkkk

Page 18: Méthode numériques équations différentielles

CHAPITRE II Méthode de résolution des ODE a un pas

ENSET ORAN - 13 -

II.1.1 Méthode explicite, d'ordre 1, dont l'algorithme est :

(II.1.8)),(hyy

donnéy

n1n

0

nnyx

La méthode peut s'interpréter de plusieurs manières :

1) Via les formules d'intégration numérique : la méthode est le résultat de l'application de laformule des rectangles basée au point xn.2) Géométriquement : la méthode revient à remplacer localement en chaque point xn la courbesolution par sa tangente.3) Via les développements de Taylor : la méthode provient du développement de Taylor d'ordre1 de la fonction y au voisinage de xn.

Page 19: Méthode numériques équations différentielles

CHAPITRE II Méthode de résolution des ODE a un pas

ENSET ORAN - 14 -

II.1.2 Méthode implicite, d'ordre 1, dont l'algorithme est :

(II.1.9))y,hf(xyy

donnéy

1n1nn1n

0

Page 20: Méthode numériques équations différentielles

CHAPITRE II Méthode de résolution des ODE a un pas

ENSET ORAN - 15 -

II.2 Méthode d'Euler amélioré

Méthode explicite dont l'algorithme est :

(II.2.1)),(),(2

),(2

donné

1*

11

1*

0

nnnnnn

nnnn

yxfyxfh

yy

yxfh

yy

y

Géométriquement, la méthode consiste à remplacer dans la méthode d'Euler la pente de latangente en (xn; yn) par la valeur corrigée au milieu de l'intervalle [xn; xn+1].

II.3 Méthode d'Euler-CauchyCette méthode est dite aussi la méthode dite de Newton-Cauchy modifiée ou méthode du pointmilieu. C’est une méthode explicite dont l'algorithme est :

(II.2.3)),2

(

),(2

donné

1*

1

1*

0

nnnn

nnnn

yh

xhfyy

yxfh

yy

y

Page 21: Méthode numériques équations différentielles

CHAPITRE II Méthode de résolution des ODE a un pas

ENSET ORAN - 16 -

La méthode du point milieu consiste à approcher, au voisinage de t0, la solution de l'équationdifférentielle y'(t) = f (t, y (t)), y(t0) = y0 t0 [a;b], par une parallèle à la tangente au "point milieude la solution obtenue par la méthode d'Euler" :Le "point milieu de la solution obtenue par la méthode d'Euler" est le point de coordonnées :

))y,(th/2fyh/2,(t0000

Et sa tangente a donc comme pente : ))y,(th/2fyh/2,(tf0000

La méthode du point milieu fait passer du point (t0, y0) au point (t1, y1) avec :

))y,(tf*h/2yh/2,(tf*hy*hyy

htt

0000001

01

qui réalise une seule étape de cette méthode et qui permet de passer d'un point d'abscisse t0 aupoint d'abscisse t0 + h, ces points étant situés sur le graphe de la solution approchée par cetteméthode.

La méthode d’Euler est une méthode numérique peu coûteuse numériquement, mais peu précisequand on intègre sur plusieurs pas de temps. Des améliorations sont possibles des que l’onconsidère des points intermédiaires, ce que nous allons voir ci-dessous en considérant desméthodes dites de Runge-Kutta.

Page 22: Méthode numériques équations différentielles

CHAPITRE II Méthode de résolution des ODE a un pas

ENSET ORAN - 17 -

Comparaison entre Euler explicite Euler modifier et Euler Cauchy :En prenant la même équation précédente on trouve les résultats suivant. Fig (II.3) :

Dans la figure II.3 on remarque que seule la méthode d’Euler Cauchy s’approche de la solutionexacte avec un pas de h= 0.2

Et pour la figure II.4 qui se trouve ci-dessous on voit bien que l’erreur est petite pour la méthoded’Euler modifier par contre la méthode d’Euler explicite prend une très grande erreur.erreur_Euler_explecite = 0.0192

erreur_Euleur_Modifier = 0.0091

erreur_euler_cauchy = 0.0013 c’es la plus petite valeur si on compare les trois erreur relative

Page 23: Méthode numériques équations différentielles

CHAPITRE II Méthode de résolution des ODE a un pas

ENSET ORAN - 18 -

II.4 Méthode de Crank - NicholsonMéthode implicite, d'ordre 2, dont l'algorithme est :

(II.4.1)),(),(2

donné

111

0

nnnnnnyxfyxf

hyy

y

Elle est obtenue en utilisant la formule d'intégration numérique des trapèzes.

Page 24: Méthode numériques équations différentielles

CHAPITRE II Méthode de résolution des ODE a un pas

ENSET ORAN - 19 -

II.5 Méthode de Heun

Dans cette méthode (encore appelée méthode de Newton modifiée), on évalue l'incrément endeux étapes. La première étape consiste à écrire :

(II.5.1)),(1

1dxxyfyy

n

x

xnnn

n

n

en estimant l'intégrale par la méthode des trapèzes, soit :

(II.5.2))),(),((2

111

nnnnnnxyfxyf

hyy (A)

Cette formule est une formule implicite en yn+1 et elle n'est généralement pas inversible. De cefait, on ne connaît pas encore yn+1 à ce stade. On trouve une valeur approchée de f (yn+1; xn+1)grâce à la méthode d'Euler. C'est la seconde étape. On a

(II.5.3)

),(

1

1

n

nnnn

y

xyhfyp

La méthode de Heun met en jeu ce que l'on appelle classiquement un schéma de typeprédicateur/correcteur. Le schéma prédicateur donne une estimation de yn+1 qui permet de prédirela valeur de la fonction en xn+1. Le schéma correcteur associé est donné par la relation (II.5.2).Globalement, on a donc :

(II.5.4))),,((),(2

11

nnnnnnnnxxyhfyfxyf

hyy

Page 25: Méthode numériques équations différentielles

CHAPITRE II Méthode de résolution des ODE a un pas

ENSET ORAN - 20 -

II.6.Méthode de Runge-Kutta

Les méthodes de Runge-Kutta sont couramment utilisées car elles allient précision,stabilité et simplicité. Toutes nécessitent plusieurs itérations pour effectuer un pas.

II.6.1 Méthode de Rungue Kutta 2

La méthode de Runge-Kutta d’ordre 2 est la plus simple ; elle combine deux itérationssuccessives de la méthode d’Euler explicite. Dans un premier temps la dérivée en (xn , yn ) estévaluée pour faire une première estimation du point suivant (noté « A » dans la figure ci II.5dessous). L’estimation provisoire de yn+1 en ce point est ensuite utilisée pour affiner le calcul dela dérivée. Une nouvelle approximation de celle-ci est obtenue en prenant sa valeur à mi-parcours(prise au point B).

C’est cette valeur de la dérivée qui sera ensuite utilisée pour estimer le prochain pas yn+1 (pointC). La procédure d’intégration se résume à :

)(

(II.6.1))2

,2

(

),(

3

1hyy

yh

xhf

yxhf

nn

nn

nn

Même si cette méthode demande deux fois plus opérations de calcul que la méthode d’Eulerexplicite pour effectuer un seul pas, le résultat est plus précis et plus stable.

Page 26: Méthode numériques équations différentielles

CHAPITRE II Méthode de résolution des ODE a un pas

ENSET ORAN - 21 -

Figure II.5 : Principe de fonctionnement de la méthode deRunge-Kutta du second ordre pour effectuer un seul pas

Une méthode explicite, d'ordre 2, peut être obtenue par l'utilisation de la formule destrapèzes. L'algorithme, noté RK2, s'écrit :

)],(),([2

(II.6.2)),(

donné

1*

11

1*

0

nnnnnn

nnnn

yxfyxfh

yy

yxhfyy

y

Elle est obtenue en utilisant la formule d'intégration numérique des trapèzes.

II.6.2 Méthode de Runge et Kutta explicite a un point

donnéy

yh

xfyxfhyy

yxfh

yy

nnnnnn

nnnn

:

(II.6.3)),2

(),()1(

),(2

0

1,1

1,

Avec α un nombre réel compris entre 0 et 1. Les valeurs de α couramment utilisées sont α=1,α=1/2 et α=3/4. Ces méthodes sont d’ordre 2.

Page 27: Méthode numériques équations différentielles

CHAPITRE II Méthode de résolution des ODE a un pas

ENSET ORAN - 22 -

II.6.3 Méthodes RK implicites à un pointLa formule de récurrence est définie par la relation :

(II.6.4))],(),()1[(111

nnnnkn

yxfyxfhyy

Oû θ est un nombre réel appartenant à l’intervalle] 0, 1]

Si θ = 0, on retrouve la méthode d’Euler. Si θ = 1/2, la méthode est d’ordre 2 et s’appelle la méthode des trapèzes. Si θ ≠ 1/2, la méthode est d’ordre 1.

II.6.4 Méthodes RK explicites à 2 points intermédiairesCes méthodes sont définies par les relations :

)),3

2(3),((

4

(II.6.5)),3

(3

2

),(3

2,1

1,2,

1,

nnnnnn

nnnn

nnnn

yh

xfyxfh

yy

yh

xfh

yy

yxfh

yy

Ou par

)),(),2

(4),((6

(II.6.6))),2

(2),((

),(2

2,11,1

1,2,

1,

nnnnnnnn

nnnnnn

nnnn

yxfyh

xfyxfh

yy

yh

xfyxfhyy

yxfh

yy

Ces deux méthodes sont d’ordre 3. La première est parfois appelée méthode de Heun.

II.6.5 Méthodes RK explicites à 3 points intermédiairesUne méthode explicite, d'ordre 4, peut être obtenue par l'utilisation de la formule de Simpson.

La méthode avec un pas de h :A partir du point M, on construit les point E, RK1, RK2. « RK3 » est le milieu du segment (M,RK2).Le point suivant de la solution approchée est le point RK4, de coordonnées (XRK4, YRK4), avec :XRK2 = XE = XM + h, et qui, de plus, appartient à la droite passant par M et de pente :

Page 28: Méthode numériques équations différentielles

CHAPITRE II Méthode de résolution des ODE a un pas

ENSET ORAN - 23 -

1/6(F (XM, YM) + 2 F (XRK1, YRK1) + 2 F (XRK3, YRK3) + F (XRK2, YRK2))Voir la figure ci-dessous. (II.6)

Figure.II.6 Méthode de Runge-Kutta d’ordre 4

On itère le procédé en partant du point (X0, Y0) et en reprenant à chaque étape le point E commenouveau point M, autant de fois qu’il le faut pour que X décrive l’intervalle demandé.

La méthode suivante est de loin la plus connue et utilisée. Les relations de récurrence sont lessuivantes :

)),(),2

(2),2

(2),((6

),2

(2

(II.6.7)),2

(2

),(2

3,12,1,1

2,3,

1,2,

1,

nnnnnnnnnn

nnnn

nnnn

nnnn

yxfyh

xfyh

xfyxfh

yy

yh

xfh

yy

yh

xfh

yy

yxfh

yy

Page 29: Méthode numériques équations différentielles

CHAPITRE II Méthode de résolution des ODE a un pas

ENSET ORAN - 24 -

Méthode est d’ordre 4.La méthode de Runge-Kutta d’ordre 4 combine quatre itérations successives. Sa précision estgénéralement encore meilleure. La procédure d’intégration devient

43211

34

2

3

1

2

1

0

226

1

,

(II.6.8)2

,2

2,

2

,

donné

kkkkyy

kyhxhfk

ky

hxhfk

ky

hxhfk

yxhfk

y

nn

nn

nn

nn

nn

II.6.6 Formule générale des méthodes RK explicites :

Les méthodes de Runge-Kutta s’écrivent de manière générale

]...[

(II.6.9))]...,([

......

)]...,([

)]...,([

22111

,22,11,

,222,211,222

,122,111,111

nnnn

nnnnnnnnn

nnnn

nnnn

KKKhyy

KKKyhxfhK

KKKyhxfhK

KKKyhxfhK

Les coefficients sont détermines afin que l’ordre soit le plus élevé possible. On note : A la matrice de coefficients (αi,j), Γ le vecteur des coefficients γi. Θ le vecteur des coefficients θi.

Quand la matrice A est triangulaire inférieure stricte, αi,j = 0 pour j ≥ i, on dit que la méthode est

explicite.

Si seule la partie triangulaire supérieure est nulle, αi,j = 0 pour j > i, la méthode est dite implicite ;sinon elle est totalement implicite.

Page 30: Méthode numériques équations différentielles

CHAPITRE II Méthode de résolution des ODE a un pas

ENSET ORAN - 25 -

Page 31: Méthode numériques équations différentielles

CHAPITRE II Méthode de résolution des ODE a un pas

ENSET ORAN - 26 -

II.7. Méthode de Burlish - StoerL'idée de cette méthode repose sur les trois principes suivants : la résolution de l'équationdifférentielle pour un accroissement de x est donnée par une fonction qui dépend de h, mais quitend vers une limite finie (indépendante de h) ; on cherche à estimer la valeur exacte du systèmedifférentiel à intégrer en calculant pour différents pas et en prenant la limite d'un pas tendant verszéro.

La figure II.7 illustre graphiquement les différentes estimations de la valeur de la fonctionsolution en utilisant trois pas d'intégration différents. La limite d'un pas de temps nul correspondà la solution exacte donnée par la courbe en trait plein. Ce point est très comparable à celui de laméthode de Romberg décrite pour l'intégration.

Le second principe de la méthode consiste à extrapoler cette limite non pas sur la base dedéveloppements polynomiaux mais de développements en fractions rationnelles. Le troisièmeprincipe consiste à utiliser des fonctions d'erreur qui sont paires en pas d’intégration.

Fig. II.7 {Schéma illustrant le principe de la méthode de Burlish-Stoer. Les lignes en pointillecorrespondent aux intégrations réalisées avec trois pas d'intégration différents. La courbe en trait

plein correspond à la solution exacte.

Page 32: Méthode numériques équations différentielles

CHAPITRE II Méthode de résolution des ODE a un pas

ENSET ORAN - 27 -

II.8 Comparaison entre quelques méthodesSur le programme suivant on va comparer l’allure des courbes pour quelques méthodes, que nousavons étudiées précédemment et voir la rapidité de chaque méthodeAvec la fonction

y’(t)= -y+1 qui a pour solution exacte : y(t) = 1-exp(-a*t) et y(0) = 0

Voici le temps de résolution pour chaque méthode :

time_Euler = 0.6880

time_Heun = 1.4380

time_RK4 = 2.7660

Page 33: Méthode numériques équations différentielles

CHAPITRE II Méthode de résolution des ODE a un pas

ENSET ORAN - 28 -

On voit bien que la méthode d’Euler est la plus rapide parce que dans les autres méthodes y aplus de calcul pour approché la solution exacte.Pour l’allure des courbes on obtient la figure II.8 :

Figure II.8 Solution numérique d’une équation du 1er Ordre

Page 34: Méthode numériques équations différentielles

CHAPITRE II Méthode de résolution des ODE a un pas

ENSET ORAN - 29 -

II.9 Comparaison entre toutes les méthodes

Si on prend la comparaison de toutes les méthodes vue dans ce chapitre on obtient la figure II.8suivi du programme sous Matlab ci-dessous enregistré sous le nom de « comparaison »Programme

Page 35: Méthode numériques équations différentielles

CHAPITRE II Méthode de résolution des ODE a un pas

ENSET ORAN - 30 -

Suite du programme

Sur la figure II.9 on voit bien que Euler Explicite s’éloigne de la vraie solution par contre les plusprécise sont RK4 et Heun donc c’est les méthodes les plus précises surtout pour RK4

erreur_RK4 = 1.1979e-007 erreur la plus petite

erreur_Euler_explecite = 0.0070

erreur_Euler_Implecite = 0.0077

erreur_Euleur_Modifier = 0.0034

erreur_Heun = 2.3774e-004

erreur_euler_cauchy = 2.3774e-004

Page 36: Méthode numériques équations différentielles

CHAPITRE II Méthode de résolution des ODE a un pas

ENSET ORAN - 31 -

Figure II.9 : Solution graphique pour les différentes ODE

Si on compare les résultats obtenu par la figure II.10 ainsi que les résultats de calcul affiché sur leWorks-pace du Matlab on voit bien que la méthode de Runge – Kutta a une erreur très faible etque la solution s’approche du résultas exacte par contre pour les autres implicites on remarquequ’il y a une très grande erreurs

La figure suivant II.10 nous montre les erreurs de chaque méthode par rapport à la solution exacte

Page 37: Méthode numériques équations différentielles

CHAPITRE II Méthode de résolution des ODE a un pas

ENSET ORAN - 32 -

FigureII.10 : Allure des différentes méthodes de résolution des ODE

II.10. La méthode de Runge-Kutta-Fehlberg

Une façon pour garantir l'exactitude dans la solution d'un système d’équationdifférentielle est de résoudre le problème en employant deux fois les tailles du « pas » h et h/2 etde comparer les réponses aux points de maille correspondant à la taille du « pas » le plus grand.Mais ceci exige une quantité significative de calcul pour la taille du pas la plus petite et doit êtrerépété si on le détermine que l'accord n'est pas assez bon.

La méthode de Runge-Kutta-Fehlberg (RKF45 dénoté) est à sens unique pour essayer derésoudre ce problème. Elle a un procédé pour déterminer si la taille du « pas » appropriée h estemployée. À chaque étape, deux approximations différentes pour la solution sont faites etcomparées :

Si les deux réponses sont en accord étroit, l'approximation est acceptée.

Si les deux réponses ne sont pas d'accord sur une exactitude spécifique, la taille du « pas »est réduite.

Si les réponses sont d'accord sur des chiffres plus significatifs qu'exigés, la taille du pasest augmentée.

Page 38: Méthode numériques équations différentielles

CHAPITRE II Méthode de résolution des ODE a un pas

ENSET ORAN - 33 -

Chaque étape exige l'utilisation des six valeurs suivantes :

).540

114

4104

18593

2565

3544221

27

8,

2

1(6

),44104

8453

513

3680281

216

439,(5

),32197

72962

2197

72001

2197

1932,

13

12(4

),32

91

32

3,

8

3(3

),14

1,

4

1(2

),,(1

2

kkkkkyhxhfk

kkkkyhxhfk

kkkyhxhfk

kkyhxhfk

kyhxhfk

yxhfk

nn

nn

nn

nn

nn

nn

(A)

Alors une approximation à la solution du système d’équation différentielle est faite pour suivreune méthode de Runge-Kutta d'ordre 4 :

55

14

4101

21973

2565

14081

216

251

kkkkyynn

(B)

Là où les quatre valeurs de fonction f1, f3, f4, et f5 sont employées. Notez que le f2 n'est pasemployé dans la formule (B). Une meilleure valeur pour la solution est déterminée suivre uneméthode de Runge-Kutta d'ordre 5 :

.655

25

50

94

430,56

561,283

825,12

66561

135

161

kkkkkyznn

(C)

Page 39: Méthode numériques équations différentielles

CHAPITRE II Méthode de résolution des ODE a un pas

ENSET ORAN - 34 -

La taille du pas optimale SH peut être déterminée en multipliant les temps scalaires de s avec lataille du pas courant H. Le s scalaire est :

41

11

41

11

84.02

nnnnyz

tolh

yz

tolhs (D)

Là où le tol est la tolérance spécifique de commande d'erreur.

Exemple 1 : résolution d’une équation avec la méthode RKF45 et RK4

1.4][0,0)0(avec1' 2 yyy

Tableau II.2 : RKF45

La dérivation de la formule (D) peut être trouvée dans les livres avancés sur l'analyse numérique.Il est important d'apprendre qu'une taille fixe du « pas » n'est pas la meilleure stratégiequoiqu'elle donne une table gentille apparaissante des valeurs. Si les valeurs nécessaires ne sontpas dans la table, l'interpolation polynôme devrait être employée.

Page 40: Méthode numériques équations différentielles

CHAPITRE II Méthode de résolution des ODE a un pas

ENSET ORAN - 35 -

Tableau II.3 : RK4

Comparaison entre RKF45 et RK4 pour la résolution d’une équation différentielle.

Un programme RKF45 a été employé avec le tol de valeur = 2 × 10-5 pour la tolérance decommande d'erreur. Il a changé la taille du pas automatiquement et a produit les 10approximations à la solution dans le tableau II.2.

Un programme RK4 a été employé avec la taille du pas a priori de h = 0.1, ce qui a exigé del'ordinateur de produire de 14 approximations aux points équidistants dans le tableau .II.3.

Les approximations au bon point final sont :

7919748.5yy(1.4)et7985045.5)4.1(1410 yy

Et l’erreur est de :

0059089.0Eet0006208.01410E

Pour les méthodes RKF45 et RK4, respectivement. La méthode RKF45 a une erreur très petite

Page 41: Méthode numériques équations différentielles

CHAPITRE II Méthode de résolution des ODE a un pas

ENSET ORAN - 36 -

Page 42: Méthode numériques équations différentielles

CHAPITRE II Méthode de résolution des ODE a un pas

ENSET ORAN - 37 -

Page 43: Méthode numériques équations différentielles

CHAPITRE II Méthode de résolution des ODE a un pas

ENSET ORAN - 38 -

Conclusion

Les intégrateurs implicites sont souvent moins précis, plus compliqués à utiliser. Mais ils sontplus stables que les intégrateurs explicites : ils divergent moins rapidement. En d’autres termes :moins précis à court terme, plus précis à long termes.Pour les méthodes RKF45 et RK4, respectivement. La méthode RKF45 a une erreur très petite

Donc on peut dire que :

• Runge-Kutta d’ordre 4 : Souvent la réponse par défaut Précision est généralement encore meilleure Bon rapport qualité/prix Mais pas une réponse universelle !

• Euler : Beaucoup de défauts Déconseillée pour presque tout Mais tellement rapide à implémenter

• Heun : Fait la moyenne entre 2 pentes ; les méthodes de Runge-Kutta font la moyenne de

m pentes …

La précision dépend de l’ordre Euler : ordre 1 Heun : ordre 2 Runge-Kutta : ordre 4 Cependant utilisation d’ordre supérieur n’est pas très intéressant …

Page 44: Méthode numériques équations différentielles

Chapitre III

Méthode de résolution des

ODE à pas multiples

Page 45: Méthode numériques équations différentielles

CHAPITRE III Méthode de résolution des ODE à pas multiples

ENSET ORAN - 40 -

III Méthode à pas multiplesIntroduction

Un intégrateur “intelligent” possède une procédure de contrôle de la méthode deconvergence, c’est à dire un moyen d’estimer l’erreur commise par le calcul sur un pasd´intégration et la possibilité de choisir en conséquence un nouveau pas si le système différentielaborde une région ou la fonction prend des valeurs plus importantes. Le calcul de cette estimationentraîne un surcoût de calcul, qu’il convient de bien gérer afin de minimiser cet effortsupplémentaire.

L’idée la plus simple pour estimer cette erreur consiste à calculer la solution donnée par unalgorithme (de Runge-Kutta d’ordre 4 par exemple) pour deux pas d´intégration différents, h et2h. Soit y(x + 2h) la solution exacte à x + 2h et y(x + h) la solution exacte à x + h, on a

y(x + 2h) = y1 + (2h)5+ O(h6) y(x + 2h) = y2 + 2(h5) + O(h6)

Où est une fonction qui reste constante sur l’intervalle x, x + 2h à l’ordre h5.

La première équation correspond à une intégration avec un pas égal à 2h tandis que la seconde

correspond à deux intégrations successives avec un pas de h. La différence = y2 − y1 fournit

une estimation de l’erreur commise avec un pas d’intégration h.

III-1 Méthode Adams–Bashforth–Moulton Method

La méthode d'Adams-Bashforth-Moulton (ABM) se compose de deux étapes. La première étapeest de rapprocher f (t, y) par le polynôme (de Lagrange) de degré 4 assortissant les quatre points :

ftftftft nknkkk ,,,,,,, 112233

Méthodes basées sur des techniques d'intégration numérique, dont la formulation générale est :

),(1

1 jkjk

p

jjkk ytfhyy

et substituez le polynôme dans la forme intégrale d'équation pour obtenir une évaluation prévuede yk+1.

(III.1.1a))5559379(24

)(123

031 kkkkk

h

kkffff

hydttlyp

La deuxième étape est de répéter le même travail avec les quatre points mis à jour :

Page 46: Méthode numériques équations différentielles

CHAPITRE III Méthode de résolution des ODE à pas multiples

ENSET ORAN - 41 -

)),((f,,,,,,, 111k111122 kkkkkkkkkk ptfftftftft

pour obtenir une évaluation corrigée de yk+1.

(III.1.1b))919(24

)(113

0

3'

1 kknkk

h

kkffff

hydttlyc

Alternativement, nous écrivons à Taylor l'expansion de série de yk+1 au sujet de tk et de celui duyk au sujet de tk+1 avec

et remplacez les premiers, deuxièmes, et troisième dérivés par leurs approximations dedifférence.

Page 47: Méthode numériques équations différentielles

CHAPITRE III Méthode de résolution des ODE à pas multiples

ENSET ORAN - 42 -

De ces équations et dans la prétention cela K

(4)

k

(4)

1kff , nous pouvons écrire les erreurs de

facteur prédictif/correcteur avec :

(III.1.4b)Kh720

19fh

720

19

(III.1.4a)Kh720

251fh

720

251

5(4)

1k

5

111,

5(4)

k

5

111,

kkkC

kkkP

pyE

pyE

Nous ne pouvons pas encore employer ces formules pour estimer les erreurs de facteurprédictif/correcteur, puisque K est inconnu. Mais, de la différence entre ces deux formules

(III.1.5)E19

270-E

251

270Kh

720

2701kC,1kP,

5

111,1,

kkkCkPpcEE

Nous pouvons obtenir les formules pratiques pour estimer les erreurs avec

(III.1.6b))(270

19

(III.1.6a))(270

251

11111,

11111,

kkkkkC

kkkkkP

pccyE

pcpyE

Page 48: Méthode numériques équations différentielles

CHAPITRE III Méthode de résolution des ODE à pas multiples

ENSET ORAN - 43 -

Ces formules nous donnent de grandes évaluations de la façon dont valeurs prévues/corrigéesétroites sont à la valeur vraie et ainsi peuvent être employées pour les améliorer aussi bien quepour ajuster l'étape-taille.

(III.1.7b))(270

19c

(III.1.7a))(270

251

11111k

111

kkkk

kkkkk

ypcc

mpcpp

On s'attend à ce que ces formules de modification récompensent nos efforts que nous avons faitpour les dériver.

La méthode d'Adams-Bashforth-Moulton (ABM) avec les formules de modification peut êtredécrite par Eqs. (III.1.1a), (III.1.1b), et (III.1.7a), (III.1.7b) récapitulé ci-dessous et est moulé

dans ode_ABM courant de MATLAB le « () ».

On s'attend à ce qu'ainsi cet arrangement a besoin de seulement deux évaluations de fonction(appels) par itération, tout en ayant une erreur de troncation d'O (h5) et fonctionne mieux que lesméthodes discutées jusqu'ici.

Il est mis en application par la routine intégrée de MATLAB « ode113 () » avec beaucoup detechniques sophistiquées additionnelles.

(III.1.8d))(270

19y

(III.1.8c))),(9195(24

c:

(III.1.8b))(270

251pm:urModificate

(III.1.8a))5559379(24

p:Prédicteur

1111n

11121n

1n1n

1231n

nnn

nnnnnn

nn

nnnnn

pcc

mxffffh

yCorrecteur

pc

ffffh

y

Page 49: Méthode numériques équations différentielles

CHAPITRE III Méthode de résolution des ODE à pas multiples

ENSET ORAN - 44 -

Programme de ABM

III.2.Méthode de Hamming

Dans cette section, nous présentons juste l'algorithme de la méthode de Hamming [H-1]récapitulée dans la boîte ci-dessus et le « ode_Ham courant correspondant () », qui est une autreméthode multi pas de pré enregistreur/correcteur comme la méthode d'Adams-Bashforth Moulton(ABM).

Cet arrangement a besoin également de seulement deux évaluations de fonction (appels) paritération, tout en ayant l'erreur d'O (h5) et est ainsi comparable à la méthode d'ABM discutéedans la section précédente.

Page 50: Méthode numériques équations différentielles

CHAPITRE III Méthode de résolution des ODE à pas multiples

ENSET ORAN - 45 -

Méthode de Hamming avec des formules de modification

(III.1.9d))(121

9y

(III.1.9c))),(2(398

1c:

(III.1.9b))(121

112pm:urModificate

(III.1.9a))22(3

4p:Prédicteur

1111k

11121k

1k1k

1231k

kkk

kkkkkk

kk

kkkk

pcc

mxfffhyyCorrecteur

pc

fffh

y

Programme de Hamming :

Page 51: Méthode numériques équations différentielles

CHAPITRE III Méthode de résolution des ODE à pas multiples

ENSET ORAN - 46 -

III.3.Comparaison des méthodes (RK4 ; Hamming, ABM)

Les facteurs principaux à considérer dans l'évaluation/comparant différentes méthodesnumériques sont l'exactitude de la solution numérique et son temps de calcul.Dans cette section, nous comparerons les routines : “ode_RK4()”, “ode_ABM()”,“ode_Ham()”, “ode23()”, “ode45()”, and “ode113()” .

Il est important de noter que l'évaluation/comparaison des méthodes numériques n'est pas aussisimple parce que leurs exécutions peuvent dépendre de la caractéristique du problème actuel.Il devrait également noter qu'il y a autre facteurs à considérer, comme la stabilité, polyvalence,preuve contre l'erreur d'exécution, et ainsi de suite. Ces points sont considérés dans la plupart desroutines de fonction intégrée de MATLAB.

La première chose que nous allons faire est de valider l'efficacité des modificateurs (Eqs. (II.1.8b,d) et (III.1.9b, d)) dans l'ABM (Adams-Bashforth-Moulton) méthode et la méthode de Hamminget RK4.Pour ce travail, nous écrivons et lançons le programme « nm643_1.m »

Page 52: Méthode numériques équations différentielles

CHAPITRE III Méthode de résolution des ODE à pas multiples

ENSET ORAN - 47 -

Pour obtenir les résultats représentés dans fig. III.1 pour l'équation

(6.4.10)0y(0)avec1y(t)-(t)y' Solution exactetety 1)(

La Fig. III.1 nous montre un fait intéressant ce, bien que la méthode d'ABM et la méthode deHamming, même sans modificateur, sont théoriquement prévus avoir une meilleure exactitudeque la méthode RK4, ils s'avèrent fonctionner mieux que RK4 seulement avec modificateurs.On remarque que l’erreur relative est plus grande pour la méthode de RK4 par rapport aux autresméthodes.

Tableau III-1 : Résultats d'appliquer plusieurs routines pour résoudre une équation simple

ode_RK4 ode_ABM ode_Ham ode23 ode45 ode113err =1.0e-004 *

0.0061 0.0050 0.0049 0.1275 0.0062 0.0294

time = 0.3280 0.2030 0.1720 0.4840 0.1880 0.3280

Figure III.1 Solutions numériques et leurs erreurs pour l'équation y’(t) = -y(t)+1

Page 53: Méthode numériques équations différentielles

CHAPITRE III Méthode de résolution des ODE à pas multiples

ENSET ORAN - 48 -

Naturellement, ce n'est pas toujours le cas, comme illustré dans fig. III.2, ce que nous avonsobtenu en appliquant les mêmes routines pour résoudre une autre équation :

(6.4.11)0y(0)avec1y(t)(t)y'

Là où la véritable solution analytique est :

(6.4.12)1-y(t) te

Il est remarquable que, sans modificateurs, la méthode d'ABM semble être meilleure queMéthode de Hamming ;

Cependant, avec les modificateurs, c'est l'autre manière autour du mineurs ils courent un cou etune course de cou.

N'importe qui verra que les méthodes de pré enregistreur/correcteur telles que la méthode d'ABM(l'ode_ABM ()) et la méthode de Hamming (ode_Ham ()) nous donne une meilleure solutionnumérique avec moins d'erreur et de temps plus court de calcul que les routines intégrées deMATLAB « ode23 () », « ode45 () », et « ode113 () » aussi bien que la méthode RK4 (ode_RK4()), comme énuméré dans le tableau III.2.

Mais, une conclusion générale ne devrait pas être déduite juste d'un exemple.

Tableau III-2 : Résultats d'appliquer plusieurs routines pour résoudre une équation simple

ode_RK4 ode_ABM ode_Ham ode23 ode45 ode113err =1.0e-004 * 0.0925 0.0203 0.0179 0.4770 0.0422 0.1249

time = 0.05 0.03 0.03 0.07 0.05 0.05

Page 54: Méthode numériques équations différentielles

CHAPITRE III Méthode de résolution des ODE à pas multiples

ENSET ORAN - 49 -

Figure III.2 Solutions numériques et leurs erreurs pour l'équation y’(t) = y(t)+1

Page 55: Méthode numériques équations différentielles

CHAPITRE III Méthode de résolution des ODE à pas multiples

ENSET ORAN - 50 -

Page 56: Méthode numériques équations différentielles

CHAPITRE III Méthode de résolution des ODE à pas multiples

ENSET ORAN - 51 -

III.4 Méthode de Milne Simpson :

)4(3

y:

)22(3

4p:Prédicteur

11111k

1231k

kkk

kkkk

fffh

yCorrecteur

fffh

y

Page 57: Méthode numériques équations différentielles

CHAPITRE III Méthode de résolution des ODE à pas multiples

ENSET ORAN - 52 -

III.5. Méthodes de Gear

Les méthodes de Gear ne sont pas construites à partir de techniques d'intégrationnumérique mais directement à partir de polynôme d'interpolation passant par p points (xi+1; yi+1),(xi; yi),...,(xi-p+1; yi+1).

III.5.1 Méthode de Gear à 2 pas, implicite, d'ordre 2 :

),(3

2

3

1

3

4

pasunàméthodeuneaveccalculé

1111

1

0

nnnnn yxfh

yyy

y

donnéy

III.5.2 Méthode de Gear à 3 pas, implicite, d'ordre 3 :

),(11

2

11

2

11

9

11

18

pasunàméthodeuneaveccalculéy,

11211

21

0

nnnnnn yxfh

yyyy

y

donnéy

III.5.3 Méthode de Gear à 4 pas, implicite, d'ordre 4 :

),(25

12

25

3

25

16

25

36

25

48

pasunàméthodeuneaveccalculéy,y,

113211

321

0

nnnnnnn yxfh

yyyyy

y

donnéy

III.6 problème de la valeur marginale

Un problème de la valeur marginale (BVP) est une équation de Nième-ordre avec certaines desvaleurs de la variable dépendante X (t) et son dérivé spécifiques au temps initial t0 et d'autresspécifiques au temps final tf.

(t))x,...(t),x(t),x'x(t),(t,f(t)x:[BVP] 1)-(N(2)(N)N

Avec les valeurs limites

(6.6.1)x)(tx,...,x)x(t,x)x(t 1-NN,N1)-(N

212101

Page 58: Méthode numériques équations différentielles

CHAPITRE III Méthode de résolution des ODE à pas multiples

ENSET ORAN - 53 -

Dans certains cas, quelques relations entre les valeurs initiales et les valeurs finales peuvent êtredonnées comme état de frontière mélangé au lieu de valeurs initiales/finales spécifiques. Cettesection couvre la méthode de tir et la méthode de différence finie cela peut être employé pourrésoudre un BVP de second ordre :

(III.6.2)x)(tx)x(tavecx(t)(t,f(t)x:[BVP]ff00

"

2

III.6.1 Méthode de Tir

L'idée de cette méthode est d'assumer la valeur de x’ (t0), résolvez alors le différentield’équation (IVP) avec l'état initial [x (t0) x’ (t0)] et subsistance ajustant la valeur de x’ (t0) et derésoudre l'IVP répétitivement jusqu'à la valeur finale X (tf) de la solution assortit, le xf donné devaleur avec assez d'exactitude.

Il est semblable à l'ajustement de l'angle de mettre le feu à un canon de sorte que la coquillefrappe par la suite la cible et à cela est pourquoi cette méthode est appelée la méthode de tir.

Ceci peut être regardé comme problème non linéaire d'équation, si nous considérons x’ (t0) commevariable indépendante et la différence entre la valeur finale en résultant X (tf) et un xf désirécomme (non-adaptation) fonction de x’ (t0). Ainsi l'arrangement de solution peut être systématiséen employant la méthode sécante et est présenté dans la routine « bvp2_shoot de MATLAB () ».

Par exemple, considèrent un BVP comprenant l'équation de second ordre

(III.6.3)3

1x(1),

4

1x(0)avec(t)4tx(t)x'(t)2x)(tx" 2

Page 59: Méthode numériques équations différentielles

CHAPITRE III Méthode de résolution des ODE à pas multiples

ENSET ORAN - 54 -

Programme de la méthode du TIR

La solution x(t) et ses dérivés x’(t) sont comme suite :

(III.6.4)(t)2tx)t-(4

2t(t)et x'

t-4

1x(t) 2

22

Notez que cette équation du second ordre peut être écrite sous forme d'équation d'état est :

(III.6.5)3/1

4/1x

)0(

)0(xavec

)()(4)(2

)(x

)('

)(x' 0

2

1

21

2

1

2

2

1

fxxtxttxtx

t

tx

t

Page 60: Méthode numériques équations différentielles

CHAPITRE III Méthode de résolution des ODE à pas multiples

ENSET ORAN - 55 -

Afin d'appliquer la méthode de tir, nous avons placé la conjecture initiale de x2(0)=x’ (0) avec :

(III.6.6)x

(0)xx0[1]0

0f

2tt

xd

f

et résolvez l'équation d'état avec l'état initial [x1(0) x2(0)=dx0[1]].

Puis, selon le signe de la différence « e (1) » entre la valeur finale « x1 (1) » de la solution et duxf final de valeur de cible, nous rendons la prochaine conjecture « dx0 [2] » plus grande/pluspetite que la conjecture initiale dx0 [1] et résolvons l'équation d'état encore avec l'état initial [x1(0) dx0 [2]].

Nous pouvons commencer vers le haut la méthode sécante avec les deux valeurs initiales dx0 [1]et dx0 [2] et répétez l'itération jusqu'à la différence (l'erreur) « e(k) » devient suffisamment petit.

Pour ce travail, nous composons le programme de MATLAB “extir.m”, ce qui emploie la routine“bvp2_shoot ()” pour obtenir la solution numérique et la compare à la véritable solutionanalytique.

Programme de la fonction

La figure III.3 prouve que la solution numérique obtient plus près de la véritable solutionanalytique après chaque rond de l'ajustement. Avec une erreur estimée a err = 3.5166e-012

Page 61: Méthode numériques équations différentielles

CHAPITRE III Méthode de résolution des ODE à pas multiples

ENSET ORAN - 56 -

Figure III.3 La solution d'un BVP obtenu en employant la méthode de tir.

III.7 Méthode des différences finis (Finite Difference)

L'idée de cette méthode est de diviser l'intervalle entier [t0, tf] en segments de N de largeur h=(tf-t0)N, et rapprochez les premiers et deuxièmes dérivés dans l’équations pour chaque point degrille par les formules de différence centrale. Ceci mène à un système de tri diagonal deséquations en ce qui concerne (n-1) variables [xi= x(t0+ih) = 1…………..N-1].

Cependant, afin que ce système d’équations soit résolu facilement, il devrait être linéaire, enimpliquant que ses coefficients peuvent ne pas contenir aucune limite de x

Par exemple, on considère un BVP comprenant l'équation linéaire de second ordre

(AB))(,)x(tavec)()()()(')()("0001

xftxxtutxtatxtatxf

Selon la méthode de différence finie, nous divisons l'intervalle de solution [t0 tf] dans N, dans dessegments de N et convertir l'équation pour chaque point de grille ti = t0 + ih, dans une équation àdifférences

Page 62: Méthode numériques équations différentielles

CHAPITRE III Méthode de résolution des ODE à pas multiples

ENSET ORAN - 57 -

iiiiiii

iii

ii

i

iii

uhxhaxahxha

uxah

xxa

h

xxx

2

110

2

11

0

11

12

11

2)2()24()2(

2

2

Puis, tenant compte de l'état de frontière cela x0 = x(t0) et xN = x(tf), nous rassemblons le tout les(N-1) équations pour construire un système tri diagonal avec des équations

Ceci peut être résolu efficacement en employant « trid » courant de MATLAB le « () », qui estconsacré à un système de tri diagonal des équations linéaires.

Le procédé entier de la méthode de différence finie pour résoudre une équation linéaire de secondordre avec des états de frontière est moulé dans la routine « bvp2_fdf de MATLAB () ». Cetteroutine est conçue pour accepter les deux coefficients a1 et a0 et l'entrée u de côté droit del’équation AB, en tant que ses trois premiers entrés arguments, où n'importe lequel de ces troisarguments entrés peut être indiqué comme nom de fonction au cas où la limite correspondante neserait pas une valeur numérique, mais une fonction du temps t.

Nous faisons le programme « dofdf » pour employer cette routine pour résoudre le BVP desecond ordre.

(BB)3)2(,5)x(1avec0)(2

)('2

)("2

xtxt

txt

tx

Page 63: Méthode numériques équations différentielles

CHAPITRE III Méthode de résolution des ODE à pas multiples

ENSET ORAN - 58 -

Programme

Pour obtenir le résultat représenté dans fig. III.4 et, en plus, pour employer la commandesymbolique de calcul « dsolve () » et « subs () » d'obtenir la solution analytique

2

4)(

tttx

et substituez le vecteur de temps dans la solution analytique pour obtenir ses valeurs numériquespour le contrôle.

Page 64: Méthode numériques équations différentielles

CHAPITRE III Méthode de résolution des ODE à pas multiples

ENSET ORAN - 59 -

Figure III.4 solution d'un BVP obtenu en employant la méthode de différence finie.

Page 65: Méthode numériques équations différentielles

CHAPITRE III Méthode de résolution des ODE à pas multiples

ENSET ORAN - 60 -

On note à propos de la méthode de tir et de la méthode de différence finie :

1- Tandis que la méthode de tir s'applique à BVP linéaire/non linéaire, la méthode dedifférence finie convient à BVP linéaire. Cependant, nous pouvons également appliquer laméthode de différence finie d'une façon itérative pour résoudre BVP non linéaire

2- Les deux méthodes peuvent être modifiées pour résoudre BVP avec des états defrontière mélangés

Page 66: Méthode numériques équations différentielles

Bibliographie

Page 67: Méthode numériques équations différentielles

Bibliographie

ENSET ORAN - 61 -

Bibliographie

Burden, Richard L., and Fairs, J. Douglas, Numerical Analysis, 7th ed., Brooks/Cole Thomson, Pacific Grove, CA, 2001.

Canale, Raymond, and Chapra, Steven, Numerical Methods for Engineers: withSoftware and Programming Applications, McGraw-Hill, New York, 2002.

Fausett, L. V., Applied Numerical Analysis Using MATLAB, Prentice-Hall, UpperSaddle River, NJ, 1999.

Hamming, R. W., Numerical Methods for Scientists and Engineers, 2nd ed.,McGraw-Hill, New York, 1973.

Kreyszig, Erwin, Advanced Engineering Mathematics, 8th ed., John Wiley & Sons,New York, 1999.

Lindfield, G. R., and Peny, J. E. T., Numerical Methods Using MATLAB, 8th ed.,Prentice-Hall, Upper Saddle River, NJ, 2000.

Luenberger, D. G., Linear and Nonlinear Programming, 2nd ed., Addison-WesleyPublishing Company, Reading, MA, 1984.

Mathews, J. H., and Fink, K. D., Numerical Methods Using MATLAB, Prentice-Hall, Upper Saddle River, NJ, 1999.

Maron, Melvin J., Numerical Analysis, Macmillan, Inc., New York, 1982.

Oppenheim, Alan V., and Schafer, Ronald W., Discrete-Time Signal Processing,Prentice-Hall, Englewood Cliffs, NJ, 1989.

Peaceman, D. W., and Rachford, H. H., The numerical solution of parabolic andelliptic differential equations, J. Soc. Ind. Appl. Math. 3, 28–41 (1955).

Schilling, R. J., and Harris, S. L., Applied Numerical Methods for Engineers UsingMATLAB and C, Brooks/Cole, Pacific Grove, CA, 2000.

Stoer, J., and Bulirsch, R., Introduction to Numerical Analysis, Springer-Verlag,New York, 1980.

Page 68: Méthode numériques équations différentielles

Bibliographie

ENSET ORAN - 62 -

M. Crouzeix, A. L. Mignot. Analyse numérique des équations différentielles. Collectionsmathématiques appliquées pour la maîtrise. Masson, Paris 1984.

K. Dekker, J.-G. Verwer. Stability of Runge-Kutta methods for stiff nonlineardifferential equations. CWI Monographs. North-Holland, Amsterdam 1984.

E. Hairer, S. P. N_rsett, G. Wanner. Solving ordinary differential equations. I.Springer-Verlag, Berlin, second edition 1993. Nonstiff problems.

E. Hairer, G. Wanner. Solving ordinary differential equations. II, volume 14 ofSpringer Series in Computational Mathematics. Springer-Verlag, Berlin, second edition1996. Stiff and differential-algebraic problems.