[PDF] [PDF] Résolution numérique des équations différentielles - univ-biskra

Mots clés Méthode d'Euler, de Heun, Runge Kutta, équation aux dérivées partielles, script Matlab® Galilée disait ” Le livre de la nature est écrit en langage 



Previous PDF Next PDF





[PDF] TD-TP matlab sur la résolution dEDO, Méthodes à un pas

22 Ordre de la méthode d'Euler On suppose que f est de classe C1 et on note z une solution exacte de (1) avec 



[PDF] Résolution déquations différentielles avec Matlab

Tracer les courbe des résultats obtenus par cette méthode, par la méthode d' Euler ainsi que la solution exacte Faire varier le pas de temps et regarder comment 



[PDF] Méthodes numériques de résolution déquations différentielles

numériques commises par la machine En Matlab, on peut facilement programmer la méthode d'Euler avec la fonction suivante : function [t,y] = Euler(f, tmin,tmax 



[PDF] MATLAB 9

3) Tracer l'erreur au cours du temps entre la solution calculée par la méthode d' Euler explicite et la solution de référence (ou la solution exacte) pour chacune 



[PDF] Matlab à lagreg - ENS Rennes

15 nov 2010 · La fonction matlab f m correspondante est la suivante function yp=f(t,y) bien qu' une pre- mière version de la méthode d'Euler est la suivante



[PDF] Résolution numérique des équations différentielles - univ-biskra

Mots clés Méthode d'Euler, de Heun, Runge Kutta, équation aux dérivées partielles, script Matlab® Galilée disait ” Le livre de la nature est écrit en langage 



[PDF] TP - Méthodes numériques - Corrigé

Écrire une variante de la fonction Newton précédente pour prendre en compte ces deux arguments supplémentaires • Comparer la méthode d'Euler explicite et la 



[PDF] Matlab - Département dinformatique et de recherche opérationnelle

Calculer pour en utilisant la méthode d'Euler à l'ordre 1 (calcul manuel) • Calculer, en utilisant un algorithme dans Matlab, la solution de l'équation différentielle 



[PDF] Résolution numériques des équations différentielles - II

étudier expérimentalement la stabilité de la méthode d'Euler pour une équation raide rajouter trois fonctions matlab (ou scilab) au programme précédent :

[PDF] méthode d'évaluation d'entreprise

[PDF] méthode d'évaluation d'un projet

[PDF] méthode d'évaluation pédagogique

[PDF] methode d'extraction d'huile essentielle pdf

[PDF] méthode d'extraction de l'or pdf

[PDF] méthode d'inventaire floristique

[PDF] methode de bessel

[PDF] methode de calcul des couts controle de gestion

[PDF] méthode de cardan démonstration

[PDF] methode de composition ecrite

[PDF] méthode de composition histoire

[PDF] méthode de composition militaire

[PDF] méthode de conservation des aliments tableau

[PDF] méthode de contraception : le diaphragme

[PDF] méthode de correction

Cours complet est disponible sur mon site web : http://sites.univ-biskra.dz/kenouche/

Chapitre

2R´esolution num´eriquedes´equations diff´erentiellesMaster Physique

SAMIRKENOUCHE- D´EPARTEMENT DESSCIENCES DE LAMATI`ERE- UMKB M ´ETHODESMATH´EMATIQUES ETALGORITHMES POUR LAPHYSIQUE R

´esum´e

Dans ce chapitre, il sera question de la r

´esolution num´erique des´equations diff´erentielles. Les m´ethodes num

´eriques abord´ees sont dites`a un pas, car le calcul dey(xn+1)ne r´eclame que la valeur dey(xn)`a l"instant

pr

´ec´edent. Une m´ethode`a deux pasutilisera`a la foisy(xn)ety(xn1). Nous nous bornerons aux m´ethodes

num

´eriques d"Euler, de Heun, de Crank-Nicolson et de Runge-Kutta classique d"ordre 4. Dans la derni`ere section,

on abordera la r

´esolution d"une´equation aux d´eriv´ees partielles par la m´ethode des diff´erences finies en deux

dimensions. Par ailleurs, la programmation de ces algorithmes sera conduite par le biais de scripts Matlab

r.

Mots cl

´es

M

´ethode d"Euler, de Heun, Runge Kutta,´equation aux d´eriv´ees partielles, script Matlabr.

Galil ´ee disait " ... Le livre de la nature est´ecrit en langage math´ematique "

Table des mati

`eres

I Introduction1

I-A Probl

`eme de Cauchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

I-B M

´ethodes d"Euler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

I-C Erreur th

´eorique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

I-D Stabilit

´e des sch´emas num´eriques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

I-E M

´ethode de Heun . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

I-F M

´ethode de Crank - Nicolson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

I-G M

´ethode de Runge-Kutta, d"ordre 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

II

´Equations diff´erentielles d"ordren12

III Diff

´erences finies15

III-A En dimension 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

III-A1 Probl

`eme non-lin´eaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

III-B En dimension 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

I.INTRODUCTIONU

Ne

´equation diff´erentielle est une´equation dont l"inconnue est une fonctiony(x). La forme g´en´erale d"une

telle

´equation s"´ecrit :

f(y(n);y(n1);y(n2);:::;y(1);y;x) ='(x)(1)

Avec,y(n)est la ni`eme d´eriv´ee de la fonctionyet'(x)d´esigne le second membre de l"´equation diff´erentielle.

Dans le cas o

`u'(x) = 0, on dira que l"´equation diff´erentielle est homog`ene. L"existence d"une solution unique de

l"

´equation diff´erentielle est tributaire de l"imposition de certaines conditions initiales sury(x)et ses d´eriv´ees. Dans

l"

´equation (1), les conditions initiales sont les valeurs dey(a);y(1)(a);y(2)(a);:::;y(n)(a). Cependant, il faut noter

S. Kenouche est docteur en Physique de l"Universit ´e de Montpellier et docteur en Chimie de l"Universit´e de B´ejaia.

Site web : voir

http://www .sites.univ-biskra.dz/kenouche

Version am

´elior´ee et actualis´ee le 09.11.2018.

1

Cours complet est disponible sur mon site web : http://sites.univ-biskra.dz/kenouche/@ SAMIR KENOUCHE2

que tr

`es souvent la solution analytique n"existe pas, et on doit par cons´equent approcher la solution exactey(x)

par des m

´ethodes num´eriques.

A. Probl

`eme de Cauchy

Le probl

`eme de Cauchy consiste`a trouver une fonction continˆument d´erivableu:t2R+!u(t)2Rv´erifiant :

y0(t) =f(t;y(t)); t >0 y(0) =y0(2)

La premi

`ere´equation est une´equation diff´erentielle et la deuxi`eme relation exprime une condition de Cauchy

ou condition initiale. D ´efinition: soitf:IR7!Rune fonction donn´ee, s"il existe une constanteL >0telle que : jf(t;u)f(t;v)j Ljuvj(3)

8u;v2Ret8t2Ialorsfest dite lipschitzienne de rapport L surIRou simplement L-lipschitzienne.

Th

´eor`eme: sifest continue surIRet L-lipschitzienne par rapport`a sa deuxi`eme variabley(t)alors le

probl `eme de Cauchy admet une solution unique surI,8u(0)2R.

Remarque: Dans ce qui suit, la variabletsera syst´ematiquement remplac´ee par la variablex. Le formalisme

math

´ematique demeure inchang´e.

B. M

´ethodes d"Euler

Afin d"atteindre la solutiony(x), sur l"intervallex2[a;b], on choisitn+1points dissemblablesx0;x1;x2;:::;xn,

avecx0=aetxn=bet le pas de discr´etisation est d´efini parh= (ba)=n. La r´esolution num´erique consiste`a

discr ´etiser l"axe des abscisses suivantxn=x0+hn(n2N). Ensuite on chercherauncomme approximation dey

au pointxn, soity(xn). Ainsi l"ensemble des approximations successivesfu0;u1;u2;:::;ung, o`u tout simplement

fungn2N, constitue la solution num´erique. Ces m´ethodes sont it´eratives donc la suitefungn2Ndoitˆetre initialis´ee

afin de calculer ses successeurs. Soit l"

´equation diff´erentielle :

y

0=f(x;y(x))(4)

Trouver la solution de cette

´equation revient`a calculer l"int´egrale def(x;y(x))entre les bornesxnetxn+1, soit : Z xn+1 x nf(x;y(x)) =y(xn+1)y(xn)(5)

Cette int

´egrale s"´ecrit en fonction des approximationsun+1etun: Z xn+1 x nf(x;y(x)) =un+1un(6)

Par cons

´equent, en fonction de la m´ethode d"int´egration utilis´ee afin de r´esoudre l"int´egrale (terme de gauche),

on obtient un sch

´ema num´erique donn´e. En utilisant par exemple la m´ethode des rectangles`a gauche, on obtient

le sch

´ema num´eriqued"Euler progressif:

u0=y(x0) =y0 u n+1un=hf(xn;un)avecn2N(7)

En utilisant la m

´ethode des rectangles`a droite, on obtient le sch´ema num´eriqued"Euler r´etrograde: u0=y(x0) =y0 u n+1un=hf(xn+1;un+1)avecn2N(8)

Cours complet est disponible sur mon site web : http://sites.univ-biskra.dz/kenouche/@ SAMIR KENOUCHE3

Avec la m

´ethode du point milieu, on aura le sch´ema num´eriqued"Euler modifi´e: 8< :u

0=y(x0) =y0

u n+1=2'un+h2 f(xn;un) u n+1un=hf(xn+h2 ;un+12 )avecn2N(9)

Exemple num

´erique

Soit

`a r´esoudre num´eriquement l"´equation diff´erentielle :2y0=xyavecy(0) = 1. On utilisera`a cet effet le

sch

´ema num´erique d"Euler r´etrograde :

u n+1=un+hxn+1un+12

2un+1=2un+hxn+1hun+1

u n+1=2un+hxn+12 +h (10)

Avecxn=x0+nhetxn+1=x0+(n+1)h. On discr´etise l"axe des abscisses suivant 10 noeuds sur un intervalle

[0 1]. Le pas de discr´etisation esth= (10)=10)h= 0:1et la condition initiale esty(x0= 0) = 1 =u0.

Nous avons appliqu

´e le sch´ema num´erique ci-dessus pour dix approximations : u

1=2u0+hx12 +h

;avech= 0:1 u

2=2u1+hx22 +h

;avech= 0:1 u

3=2u2+hx32 +h

;avech= 0:1 u

4=2u3+hx42 +h

;avech= 0:1 u

10=2u9+hx102 +h

;avech= 0:1

TABLEI: M´ethode d"Eulernx

nu n0.00000.00001.0000

1.00000.10000.9524

2.00000.20000.9118

3.00000.30000.8779

4.00000.40000.8504

5.00000.50000.8289

6.00000.60000.8133

7.00000.70000.8031

8.00000.80000.7982

9.00000.90000.7983

10.00001.00000.8031

Cours complet est disponible sur mon site web : http://sites.univ-biskra.dz/kenouche/@ SAMIR KENOUCHE4

Ci-dessous le script Matlab

r:clc;clearall;closeall; %SamirKenouche-Le15/11/2018 %EULERIMPLICITE:y"=(x-y)/2 %SCHEMANUMERIQUE:Un+1=Un+F(Xn+1,Un+1) a=0;b=1;n=10;h=(b-a)/n;xn=a:h:b; forit=1:n-1 un(it+1)=(1/(2+h)) *(2*un(it)+h *xn(it)); end sol_exacte=3. *exp(-xn/2)+xn-2;figure("color",[111]); plot (xn(1: end -1),un, o b );holdon;plot(xn,sol_exacte,"-ro"); xlabel x );ylabel("y"); Tr

`es souvent pour des´equations diff´erentielles ayant des formules math´ematiques compliqu´ees, il sera difficile de

retrouver analytiquement le sch ´ema num´erique. Dans ce cas il serait judicieux d"appliquer explicitement la formule d"Euler. Ci-dessous, le script Matlab rcorrespondant.clc;clearall;closeall; %SamirKenouche-Le15/11/2018 %FORMULED"EULER-Eq:y"=(x-y)/2 %SCHEMANUMERIQUE:Un+1=Un+F(Xn,Un) a=0;b=1;n=10;h=(b-a)/n;xn=a:h:b; forit=1:n-1 un(it+1)=un(it)+h *dy(xn(it),un(it)); end sol_exacte=3. *exp(-xn/2)+xn-2;figure("color",[111]); plot (xn(1: end -1),un, o b );holdon;plot(xn,sol_exacte,"-ro"); xlabel x );ylabel("y");

C. Erreur th

´eorique

La convergence des deux sch

´emas d"Euler est d"ordre un par rapport`ah:

e n=ju(xn)unj=O(h)

Cela signifie que si je divise par deux le pash, l"erreur sera divis´ee par deux´egalement. Dans cette configuration

le temps de calcul est multipli

´e par deux.

Cours complet est disponible sur mon site web : http://sites.univ-biskra.dz/kenouche/@ SAMIR KENOUCHE5

Th

´eor`eme: sifest continue surIR, L-lipschitzienne par rapport`a sa deuxi`eme variable ety(x)2 C2surI

alors l"erreuren=u(xn)uncommise au point(xn;un)est major´ee par : jenj (eL(ba)1)h2Lmaxx2Ijy(x)(2)j(11)

Avecaetbsont respectivement les bornes inf´erieure et sup´erieure d"int´egration. Afin de calculer cette erreur,

soit le probl `eme de Cauchy suivant : y0(x) =y(x) + 1x2R y(0) = 1(12) 1)

Montrer que fest L-lipschitzienne.

2)

Calculer l"erreur th

´eorique de la m´ethode d"Euler pour un pash= 0:1.

Tenant compte de (3), il vient :

jf(x;u)f(x;v)j=jx+uxvj =juvj )L= 1

Evaluons l"erreur th´eorique donn´ee par (11), nous avonsy00(x) = 2ex. Cette seconde d´eriv´ee est maximale pour

x= 1)y00(1) = 2e1= 5:4366: jenj (e1(10)1)h215:4366210:1

0:4665

D. Stabilit

´e des sch´emas num´eriques

Avant d"entamer la discussion sur la notion de stabilit ´e, il a´et´e jug´e judicieux d"introduire un bref rappel sur les suites. Soitunune suite g´eom´etrique de termeu0et de raisonr. Nous avons8n2N:un=u0r:

Sir >0)limn!+1un= +1siu0> r

lim n!+1un=1siu0< r

Sijrj<1)limn!+1un= 0

Sir= 1)limn!+1un=u0

Sir 1)limn!+1un@

Dans ce qui suit on se propose d"

´etudier la stabilit´e des sch´emas d"Euler, progressif et r´etrograde sur l"´equation

diff

´erentielle :

y0(x) =y(x) >0 y(0) =y0(13)

La solution de ce probl

`eme de Cauchy est triviale, soit :y(x) =y0e xainsi : lim x!+1y(x) = 0 (P1)

Les sch

´emas num´eriques d"Euler permettent de calculer les approximationsfung2N. Nous souhaitons v´erifier la

propri ´et´eP1pour les approximationsfu1;u2;u3;:::;ung. Autrement dit on cherche : lim n!+1un= 0

Cours complet est disponible sur mon site web : http://sites.univ-biskra.dz/kenouche/@ SAMIR KENOUCHE6

Commenc¸ons par le sch

´ema d"Euler progressifun+1=un+hf(xn;un), ce qui donne : u n+1= (1 h)un u

1= (1 h)u0

u

2= (1 h)u1= (1 h)2u0

En g

´en´eralisant on obtient la suite g´eom´etrique :un+1= (1 h)nu0de raison(1 h)et de premier terme

u

0. Cherchons la propri´et´eP1:

lim n!+1un= 0, j1 hj<1, h <2,h <2 Ainsi, la convergence de cette suite est conditionn

´ee parh <2

. Si nous prenons par exempleh >2 la suite

divergera, ce qui contredit la solution exactey(x). Examinons d´esormais le sch´ema d"Euler r´etrograde. De fac¸on

analogue que pr

´ec´edemment on aura :

u n+1=un11 + h =u011 + h n+1

Cherchons la propri

´et´eP1:

lim n!+1un+1= 0,11 + h<1

Ce qui est toujours v

´erifi´e8h. Par cons´equent il n"existe aucune condition sur la pas de discr´etisation, contrai-

rement au sch ´ema progressif. Ainsi, le sch´ema r´etrograde est inconditionnellement stable. E. M

´ethode de Heun

La M

´ethode de Heun est une version am´elior´ee de celle d"Euler. L"erreur sur le r´esultat g´en´er´e par cette m´ethode

est proportionnelle

`ah3, meilleur que celle de la m´ethode d"Euler. N´eanmoins, cette m´ethode r´eclame une double

evaluation de la fonctionf. (u0=y(x0) =y0 u n+1=un+h2 ff(xn;un) +f(xn;un+hf(xn;un))gavecn2N(14)

Le sch

´ema num´erique de cette m´ethode r´esulte de l"application de la formule de quadrature du trap`eze. Notons

egalement que la m´ethode de Heun fait partie des m´ethodes de Runge-Kutta explicites d"ordre deux. Afin d"illus-

trer le fonctionnement de cette m

´ethode, reprenant l"´equation diff´erentielle de l"exemple num´erique pr´ec´edent et

cherchons la formule analytique correspondante : u n+1=un+h2 xnun2 +h2 0 B B@x n u n+hxnun2 2 1 C CA u n+1=un+h2 xnun2 +h2 0 B B@x n2un+hxnhun2 2 1 C CA u n+1=un+h2 xnun2 +h2

2xn2unhxn+hun4

Finalement :

u n+1=4hh28 x n+84h+h28 u n(15)

Cours complet est disponible sur mon site web : http://sites.univ-biskra.dz/kenouche/@ SAMIR KENOUCHE7

Ci-dessous le script Matlab

r:clc;clearall;closeall; %SamirKenouche-Le15/11/2018 %Heun-Eq:y"=(x-y)/2 a=0;b=1;n=10;h=(b-a)/n;xn=a:h:b; forit=1:n-1 un(it+1)=((4 *h-h.ˆ2)/8) *xn(it)+((8-4 *h+h.ˆ2)/8) *un(it); end sol_exacte=3. *exp(-xn/2)+xn-2;figure("color",[111]); plot (xn(1: end -1),un, o b );holdon;plot(xn,sol_exacte,"-ro"); xlabel x );ylabel("y");

Comme pr

´ec´edemment, cette fac¸on de proc´eder n"est faisable que si la formule math´ematique, d´ecoulant du

sch

´ema num´erique, est relativement simple. Il est ainsi plus pertinent d"appliquer explicitement la formule de

Heun. Ci-dessous, le script Matlab

rcorrespondant.clc;clearall;closeall; %SamirKenouche-Le15/11/2018 %Heun-Eq:y"=(x-y)/2 a=0;b=1;n=10;h=(b-a)/n;xn=a:h:b; fori=1:n-1 un(i+1)=un(i)+h/2 *(dy(xn(i),un(i))+dy(xn(i+1),... un(i)+h *dy(xn(i),un(i))));end sol_exacte=3. *exp(-xn/2)+xn-2;figure("color",[111]); plot (xn(1: end -1),un, o b );holdon;plot(xn,sol_exacte,"-ro"); xlabel x );ylabel("y");

Ci-dessous, les r

´esultats num´eriques pour dix approximations :

Cours complet est disponible sur mon site web : http://sites.univ-biskra.dz/kenouche/@ SAMIR KENOUCHE8

TABLEII: M´ethode de Heunnx

nu n0.00000.00001.0000

1.00000.10000.9537

2.00000.20000.9146

3.00000.30000.8823

4.00000.40000.8564

5.00000.50000.8367

6.00000.60000.8227

7.00000.70000.8144

8.00000.80000.8113

9.00000.90000.8133

F. M

´ethode de Crank - Nicolson

Cette m

´ethode permet d"obtenir une plus grande pr´ecision (elles g´en`erent des solutions num´eriques plus proches

des solutions analytiques) que les deux m ´ethodes pr´ec´edentes. Le sch´ema num´erique est donn´e par : (y0=y(x0) =u0 u n+1=un+h2 ff(xn;un) +f(xn+1;un+1)gavecn2N(16)

Cette m

´ethode et celle d"Euler r´etrograde sont inconditionnellement stables, moyennant certaines conditions de

r ´egularit´e sur les´equations`a r´esoudre. G. M

´ethode de Runge-Kutta, d"ordre 4

La m

´ethode de Runge-Kutta (classique) d"ordre 4, est une m´ethode explicite tr`es populaire. Elle calcule la valeur

de la fonction en quatre points interm

´ediaires selon :

8 :y

0=y(x0) =u0

u n+1=un+h6 f(xn;u1n) + 2f(xn+h2 ;u2n) + 2f(xn+h2 ;u3n) +f(xn+1;u4n) avecn2N(17) 8 >:u 1n=un u

2n=un+h2

f(xn;u1n) u

3n=un+h2

f(xn+h2 ;u2n) u

4n=un+hf(un+h2

;u3n)(18)

Notons que le nombre de termes retenus dans la s

quotesdbs_dbs47.pdfusesText_47