equ_dif_1112

Upload: safae-benaissa

Post on 16-Jul-2015

53 views

Category:

Documents


0 download

TRANSCRIPT

On commence ! (EDO) (EDO) (EDO) (EDO)Mthodes NumriquesProblmes Pratiques2Rsolution d'quations diffrentielles1. METHODES NUMERIQUES POUR LA RESOLUTION DES EQUATIONS DIFFERENTIELLES ORDINAIRES (EDO)1ereanne31 anne2. METHODES NUMERIQUESPOUR LA RESOLUTION DES EQUATIONS AUX DERIVEES PARTIELLES (EDP)2meanneMini Projet notOBJECTIFS de la partie EQUATIONS DIFFERENTIELLES ORDINAIRES Avoir une vue densemble des mthodes basiques et courantes de rsolution des EDOIdentifier les problmes classiques rencontrs lors de telles rsolutions4Connatre un outil de rsolution (intgrateur ou solveur)Savoir appliquer une mthodologie de rsolution dun systme EDOINTRODUCTION : Quest quune EDO ?EDO : quation(s) dcrivant lvolution dun systme fonction dune seule variable indpendante, par exemple :- le temps : systme temporel- une coordonne de lespace : systme 1-DEDP : quation(s) dcrivant lvolution dun systme fonction de quations avec des drives ordinaires5EDP : quation(s) dcrivant lvolution dun systme fonction de plusieurs variables indpendantes, par exemple :- 2 : le temps et une coordonne de lespace : systme temporel 1-D- 2 : deux coordonnes de lespace : systme 2-D- 3 : systme 3-Detc .quations avec des drives partiellesEXEMPLE 1: Raction chimique dans un racteurk1 k3A + BC + D Ek2dCBilan matire:6dCAkC C k C CB D 1 A 2 C dtdCBkC C k C CB D 1 A 2 C dtdCn m CkC C k C C k C CB D 1 A 2 C 3 dtD CdCn m DkC C k C C k C CB D 1 A 2 C 3 dtD CdCn m Ek C C3 dtD C= += += = =PLAN I. INTRODUCTION - RAPPELSI.1 Ordre et non linaritI.2 Problmes valeur initiale et aux limitesI.3 Forme CanoniqueII. METHODES A UN PAS (CONSTANT)7II.1 Mthode dEuler expliciteII.2 Mthode d HeunII.3 Mthodes de Runge- KuttaIII. METHODE A UN PAS (VARIABLE)III.1 PrincipeIII.2 ode23 et ode45CLASSIFICATION DES EDO:Ordre :kx2)dxdyb(2dxy2da3dxy3dkxdxdyy2dxy2dkx ydxdy= + += += +1er ordre2nd ordre3eme ordre8dx 2dx3dx3eme ordreLinaire / Non-linaire :kx2)dxdyb(2dxy2da3dxy3dkxdxdyy2dxy2dkx ydxdy= + += += +Linaire Non-linaireNon-linairePour avoir une solution unique dun systme de n EDO dordre 1il faut spcifier n valeurs des variables dpendantes m n CdCDCCC2kBCAC1kdtBdCDCCC2kBCAC1kdtAdC+ =+ =Exemple:9mDCnCC3kdtEdCmDCnCC3kDCCC2kBCAC1kdtDdCmDCnCC3kDCCC2kBCAC1kdtCdC= = =Pour rsoudre ce systme et esprer trouver la solution unique qui correspond mon problme, je dois connatre une valeur de CA, CB, CC, CDet CEProblme valeur initiale / Problme valeur aux limites :Problme valeur initiale : Les valeurs des variables dpendantes ou de leurs drives sont toutesconnues la valeur initiale de la valeur indpendante10Problme valeur aux limites : Les valeurs des variables dpendantes ou de leurs drives sont connuesen plusieurs valeurs de la variable indpendanteFORME CANONIQUE DUNE EDO :x) , (dxdy fy====x) ,ny ,...,2y ,1(ynfdxndyx) ,ny ,...,2y ,1(y2fdx2dyx) ,ny ,...,2y ,1(y1fdx1dy...Systme :=1,0y )0(x1yConditions initiales :110y y = )0(x(x) F y====n,0y )0(xny2,0y )0(x2y1,0y )0(x1y...===(x)nFny(x)2F2y(x)1F1y...Solutions :TRANSFORMATION VERS UNE FORME CANONIQUE :Exemple : x) ,1 - ndxz1 - nd,...,2dxz2d,dxdzG(z,ndxznd=On pose := ==y1dydz1y z=dy2ydx1dysoit :12==== == =dxndyndxzndnydx1 ndy1 ndxz1 nd3ydx2dy2dxz2d2ydx1dydxdz...==x) ,ny ,...,2y ,1G(ydxndy3ydx2dy2dx...Exemple : Mettre sous forme canonique lquation suivante0 5zdxdzxdxz dxdxz d222333= + +ddzy1y1y z= ==dxd2y1y=131dxddxddxz ddxddxz ddxddxdz4yx4y3y333y2y222y1y=== == == 1dxd5dxddxddx4y1y2y24y3y34y3y3y2y2= == +Cadre de ce coursRsolution dun systme dEDO non linaires (problme valeurs initiales)t) , (dtdy fy=0y y = )0(tA partir de maintenant, La variable indpendante est t14+ =t0t,y)d f0y y(t) (Notations :y(t) ou y(tj) : solution exacteyj: solution numrique ej= yj- y(tj) : erreurindpendante est tPLANI. INTRODUCTION - RAPPELSI.1 Ordre et non linaritI.2 Problmes valeur initiale et aux limitesI.3 Forme CanoniqueII. METHODES A UN PAS (CONSTANT) 15II.1 Mthode dEuler expliciteII.2 Mthode dHeunII.3 Mthodes de Runge-KuttaIII. METHODE A UN PAS (VARIABLE)III.1 PrincipeIII.2 ode23 et ode45METHODE A UN PAS (CONSTANT)METHODES dEULER(ou mthode de la tangente)f(y,t)dtdy=0y )0y(t =Le problme une quation est :(t) R)0(t(n)yn0t t...)0(t y 2t t ) (t y t t ) y(t y(t) ++ + + + =|||

|| | | |Dveloppement de Taylor :16(t)nRn!)0(t y0t t...2!)0(t y 20t t )0(t y0t t )0y(t y(t) ++ + + + =||

\|||

\||||

\|)0,y0)f(t0t (t )0y(t y(t) + Soit en sarrtant lordre 1:On peut crire :avec h = tn+1- tn)n,ynhf(tny1 ny + =+)n,ynhf(tny1 ny + =+METHODES dEULER EXPLICITE172y tdtdy =|||

\|+ =2t5e 1 2t41yExemple : Intgration avec Euler de avec y(0)=1Solution exacte est : j tjEuler Solution Erreur Euler Erreurh=0.2 Exacte h=0.2 h=0.1 h=0.118h=0.2 Exacte h=0.2 h=0.1 h=0.10 0.0 1.0 1.0 0 1.0 0.01 0.2 0.6 0.6879 -0.0879 0.6500 -0.03792 0.4 0.4 0.5117 -0.1117 0.4620 -0.04973 0.6 0.32 0.4265 -0.1065 0.3777 -0.0488Plus hplus erreurMETHODE dHEUN: principe1hkjyjy*)j,yjf(t1k+= =11 1Calcul du point y*jpar Euler expliciteCalcul de la pente en (t , y* )) ,y* f(t k =19Calcul final de yj: moyenne entre k1 et k222k1khjyjy++=1Calcul de la pente en (tj, y*j))j,y*jf(t2k =mkmw ...3k3w2k2w1k1wjyjyavec+ + + + +=1Formule gnriqueMETHODES de RUNGE-KUTTA: principeMthode de Heun fait la moyenne entre 2 pentes; les mthodes deRunge-Kutta font la moyenne de m pentes 20)1 mk1) m(ma ...2km2a1km1ajh,ymcjf(tmk...)2k32a1k31ajh,y3cjf(t3k)1k21ajh,y2cjf(t2k)j,yjf(t1k + + + ++=+ ++=++= =1 11 11 11 1Lordre de la mthode (m) dpend de lordre du dveloppement de La srie de Taylor correspondante .Exemple : Runge-Kutta ordre 2)1k21ajh,y2cjf(t2k)j,yjf(t1k2k2w1k1wjyjyavec++= =+ +=1 11 1121Les termes w1, w2, c2et a21sont choisis par identification avecles termes du dveloppement de Taylor a lordre 2. On trouve:w1+ w2= 1w2c2= w2a21= Soient 4 inconnues pour 3 quations , on doit en fixer une !Ce choix est fait pour minimiser lerreur , ici c2= 1)1hk1 jh,y1 jf(t2k)1 j,y1 jf(t1k2k1k2h1 jyjyavec++= =+ +=|||

\|On obtient : 22Cest la mthode dHeun !Runge-Kutta dordre 4)1 j,y1 jf(t1k4k613k312k311k61h1 jyjyavec =+ + + +=||||

\|23)3hk1 jh,y1 jf(t4k)2k2h1 j,y2h1 jf(t3k)1k2h1 j,y2h1 jf(t2k)1 j,y1 jf(t1k++=++=++= =Comparaison des mthodes dEuler, Heun et RK4ydtdy =te y=Exemple : Intgration de avec y(0)=1Solution exacte est : h EulerErreur HeunErreur RK4Erreur0.2 4.02e-2 (31) 2.86e-3 (57)5.80e-6 (129)240.2 4.02e-2 (31) 2.86e-3 (57)5.80e-6 (129)0.1 1.92e-2(61) 6.62e-4 (112)3.33e-7 (254)0.05 9.39e-3 (121) 1.59e-4(222) 2.00e-8 (504)0.025 4.65e-3 (481) 3.90e-5 (442) 1.22e-9 (1004)0.01252.31e-3(961) 9.67e-6 (882) 7.56e-11 (2004)CONCLUSION : METHODE A UN PAS (CONSTANT) 3 mthodes : Euler, Heun, Runge-Kutta 4 prcision dpend de lordre Euler : ordre 1 Heun : ordre 2 Runge-Kutta : ordre 425 Runge-Kutta : ordre 4Cependant utilisation dordre suprieur nest pas trs intressant pour amliorer la prcision : rduire le pas hcomment fait un gophisicien pour intgrer sur une priode d1 milliard dannes avec un pas dune micro seconde ..PLANI. INTRODUCTION - RAPPELSI.1 Ordre et non linaritI.2 Problmes valeur initiale et aux limitesI.2 Forme CanoniqueII. METHODES A UN PAS (CONSTANT)26II.1 Mthode dEuler expliciteII.2 Mthode dHeunII.3 Mthodes de Runge-KuttaIII. METHODE A UN PAS (VARIABLE)III.1 PrincipeIII.2 ode23 et ode45METHODE A UN PAS (VARIABLE)PRINCIPEIde : trouver une mthode numrique qui va ajuster le pasdintgration h au cours de la rsolution comment ?Moyen : pour cela il faut estimer lerreur commise chaque pas dintgration 27Moyen : pour cela il faut estimer lerreur commise chaque pas dintgration Si lerreur est trop grande (par rapport un critre fix) alors h est rduitSi lerreur est petite (par rapport au critre fix) alors on peut permettre daugmenter h pour aller plus vite METHODE A UN PAS (VARIABLE)PRINCIPESolution 1 : calculer une solution un point donn avec 2 valeurs de h diffrentes si le rsultat est le mme alors on conserve la valeur grande de h pour le pas suivantsi le rsultat est diffrent, on suppose que le meilleur 28si le rsultat est diffrent, on suppose que le meilleur rsultat est obtenu avec la petite valeur de h quon conserve pour le pas suivant Solution 2 : Utiliser deux mthodes en parallle avec le mme pas h mais avec des ordres diffrents! Exemple : Mthode de Runge-Kutta-Fehlberg 45METHODE A UN PAS (VARIABLE)PRINCIPECalcul yjavec Runge-Kutta ordre 4 (avec h)29Calcul yjavec Runge-Kutta ordre 4 (avec h)Calcul yj* avec Runge-Kutta ordre 5 (avec h)Calcul j= yj- yj* Si j < tolrance fixe alors on accepte yjSi j tolrance fixe alors on recommence avec h plus petitProblme :comme cest la mthode numrique qui choisit le pas dintgration, on na pas la solution aux temps dsirs ! Il est alors ncessaire dinterpoler les rsultats 30ode23 et ode45 sont des solveurs implants dans matlabode23 : Mthode de Runge-Kutta-Fehlberg 23utilisation des mthodes de Runge-Kutta dordres 2 et 3ode45 : Mthode de Runge-Kutta-Fehlberg 45ODE23 et ODE4531utilisation des mthodes de Runge-Kutta dordres 4 et 5[t,Y]=ode45 (modele,tfin,y0)modele est le nom du fichier *.m (funtion matlab) o est dfini le systme dEDO rsoudretfin estla valeur finale de la variable indpendante (temps final si cest le temps) ; par dfaut, la valeur initiale est prise gale 0, si ce nest pas le cas alors : Utilisation dODE4532[t,Y]=ode45 (modele, [t0 tfin],y0)y0 est un vecteur des conditions initialesY est une matrice qui contient le rsultat de lintgration; chaque colonne correspond une variable et chaque ligne correspond une valeur de la variable indpendante (vecteur t)Le pas dintgration na pas besoin dtre fourni !!!Le pas dintgration est ajust pour que : < max (RelTol * |yj| , AbsTol)Utilisation dODE45 est une estimation de lerreur locale produite par la mthode numriqueRelTol et AbsTol sont respectivement des tolrances relatives et absoluesfournies par lutilisateur (par dfaut 1e-3et 1e-6)33yj est la valeur calcule de la variable au jmepas de tempsExemple :si yj= 100 alors max(1e-3* 100 , 1e-6) = 1e-1si yj= 1e-5alors max(1e-3* 1e-5, 1e-6) = 1e-6Utilisation dODE45ydtdy =Exemple : Intgration deentre 0 et 1 avec y(0)=1tfin=1;y0=1;[t,y]=ode45(exemple,tfin,y0);plot(t,y)34plot(t,y)Dans exemple.m :function dydt=exemple(t,y)dydt=-y; Options=odeset(paramtre1,valeur1, paramtre2,valeur2,)[t,Y]=ode45 (modele,tfin,y0, options)Les paramtres sont nombreux , par exemple:RelTol : tolrance relative AbsTol : tolrance absolueUtilisation dODE45Modification des paramtres de la mthode35AbsTol : tolrance absolueMaxStep : pas maximal autorisInitialStep : pas initialEtc .Travaux Dirigs (1) Soit l'quation diffrentielle y'(t)=y(t)+t , y(0)=136 1. Approcher la solution de cette quation en t=1 l'aide de la mthode d'Euler en subdivisant l'intervalle de travail en 10 parties gales. 2. Trouver la solution exacte de cette quation diffrentielle. 3. Comparer.Travaux Dirigs (2) Soit l'quation diffrentielle y(t)=y(t)-2(t/y), y(0)=1 1. Approcher la solution de cette quation en t=0.2 l'aide de la mthode de Runge Kutta d'ordre 2, 37 l'aide de la mthode de Runge Kutta d'ordre 2, avec un pas h=0.22. Trouver la solution exacte de cette quation diffrentielle. 3. Comparer.Travaux Dirigs(3) Soit l'quation diffrentielle du second ordre {y(t)+2y(t)=2y(t) , t[a, b]y(a)=1 ety(a)=238 1. Ecrire cette quation diffrentielle sous forme d'un systme diffrentiel de deux quations diffrentielles d'ordre 1. 2.Appliquer la mthode de Runge Kutta d'ordre 2 ce systme.Travaux Dirigs (4) Soit l'quation diffrentielle du second ordre {y(t)-q(t) y(t)=f(t) , t[a, b]y(a)= ety(b)= o q et f sont continues sur [a, b] et q(x)0 pour tout x[a, b]. (Ces hypothses assurent l'existence et l'unicit de la solution.) 1.Montrer que si y est quatre fois continument drivable dans [a, b] alors y(x)=(1/(h))[y(x+h)-2y(x)+y(x-h)]+((h)/(12))y() avec ]x-h, x+h[.2.On subdivise [a, b] en N+1 intervalles de 39avec ]x-h, x+h[.2.On subdivise [a, b] en N+1 intervalles de longueur h=((b-a)/(N+1)) et on pose x_{i}=a+ih,i=0,.....,N+1, on appelle y_{i} une approximation de y(x_{i}) et on remplace y(x_{i}) par (1/(h))[y_{i+1}-2y_{i}+y_{i-1}]. Ecrire le systme d'quations linaires ainsi obtenu. On appelle A la matrice de ce systme. 3. Montrer que A=L+hQ o L est une matrice tridiagonale et Q une matrice diagonale, donner L et Q.Travaux Dirigs (5) Soit l'quation diffrentielle du second ordre{y(t)+3sin(y(t))=2y(t) , t[a, b]y(a)=1 ety(a)=21. Ecrire cette quation diffrentielle sous forme d'un systme diffrentiel de deux quations 40systme diffrentiel de deux quations diffrentielles d'ordre 1.2. Appliquer la mthode de Runge Kutta d'ordre 2 ce systme.3. Appliquer la mthode de Runge Kutta d'ordre 4 ce systme.Travaux Dirigs (6) Soit le problme de Cauchy suivant: 1. Montrer que f(t, y(t) est lipshitzienne par rapport y uniformment par rapport t, et donner une constante de Lipschitz. 2. Montrer que ce problme admet une solution unique. 3. Donner la solution exacte de (1), ainsi que y(0.2). [ ]'( ) ( , ( )) 2 ( ), 0,1(0) 1ty t f t yt e yt ty= = =41 3. Donner la solution exacte de (1), ainsi que y(0.2). 4. Appliquer la mthode d'Euler ce problme, crire l'algorithme correspondant et donner l'approximation y de y(0.2) obtenue l'aide d'un pas de discrtisation numrique h=0.1. 5. Rappeler l'erreur de la mthode d'Euler et la comparer l'erreur commise sur le calcul de y(0.2); commentaires?. METHODE A PAS LIESPRINCIPELes mthodes un pas (fixe ou variable) consistaient calculer yj partir de la valeur value prcdemment en yj-1Le principe des mthodes pas lis consiste valuer yj partir de plusieurs valeurs yj-1, yj-2, yj-3 yj-k42Mthode un pas :Mthode pas lis:+=jtk jtt)dt y fk jyjy , (Avec les mthodes pas lis, f(y,t) va tre valu avec un polynme dinterpolation ( ,11tjy y f y t ) d tj jtj= +Rappel sur lInterpolation PolynomialePrincipe : on cherche un polynme (de degr k) Pk(t) sur un ensemble de points (tj, f(tj), pour j = 0, ., k , donc k+1 points)Pk(t) doit vrifier : k jjtkPjt f ... , 0 ), ( ) ( = =43tfMETHODE A PAS LIESMETHODE OUVERTEPrincipe :on utilise les k+1 dernires valeurs de f pour construire un polynme de degr k (fn, fn-1, fn-2, fn-k+1)on utilise ce polynme pour en dduire la valeur de f en n+144Problme : on utilise un polynme dinterpolation pour extrapoler .) (1ny hfnyny + =+|||

\| + =+)1(21) (231 ny fny f hnynyMthodes dAdams Bashforth ( pas fixe):k=1k=245|

\ + 12 21 nn nn|||

\|+ + =+)2(125)1(1216) (12231 ny fny fny f hnyny|||

\|+ + =+)3(249)2(2437)1(2459) (24551 ny fny fny fny f hnynyk=2k=3k=4METHODE A PAS LIESMETHODE FERMEEPrincipe :on utilise cette fois-ci le point quon cherche (tn+1, fn+1) dans la dtermination du polynme dinterpolation de degr k+1 (fn+1, fn, fn-1,fn-2, , fn-k+1)46Problme : mthode implicite donc rsolution lourde chaque itration .)1(1 ++ =+ ny hfnyny|||

\|+++ =+) (21)1(211ny fny f hnyny||

| +++ =+) (1) (8) (5ny fny fny f hnynyMthodes dAdams Moulton ( pas fixe):k=0k=1k=247||

\ +++ =+)1(121) (128)1(1251 ny fny fny f hnyny|||

\|+ +++ =+)2(241)1(245) (2419)1(2491 ny fny fny fny f hnynyk=2k=3METHODE A PAS LIESMETHODE PREDICTEUR-CORRECTEURPrincipe :Utiliser les avantages des mthodes ouverte et fermetape 1: phase de prdictionon prdit une valeur de par une mthode ouvertetape 2: phase dvaluation1+ ny = Y t f f48tape 2: phase dvaluationtape 3: phase de correctionon corrige la valeur de par une mthode ferme pour trouver en utilisant 1+ ny)1,1(1+ +=+ nYnt fnf1 + ny1+ nfMETHODE A PAS LIESMETHODE PREDICTEUR-CORRECTEURAmliorations:1. Phase de correction peut tre rpte plusieurs fois2. Approximation de lerreur commise492. Approximation de lerreur commisemthode pas variable .mthode ordre du polynme dinterpolation variableMETHODE A PAS LIESMETHODE PREDICTEUR-CORRECTEURInconvnient Majeur:Mthode non auto dmarrante !Par exemple:50Par exemple:Comment calcule-t-on y1, y2et y3?on doit utiliser une mthode un pas !|||

\|+ + =+)3(249)2(2437)1(2459) (24551 ny fny fny fny f hnynyMETHODE PREDICTEUR-CORRECTEUREXEMPLE DE PRINCIPEjuste pour voir cas o les polynmes dinterpolation sont dordre 1Mthode ouverte dordre 1 : )n,ynhf(tny1 ny + =+51Mthode ferme dordre 1 : )1 n,y1 nhf(tny1 ny+ ++ =+Cest Euler !!!Cest Euler impliciteon progresse du point n au point n+1 en utilisant la valeur de la drive en n+1 (pas encore connue ! )La mthode est implicite en ce sens quon doit rsoudre un systme dquations algbriques Mthode prdicteur-correcteur dordre 1 (appele Euler modifi):)prdit 1 n,y1 nhf(tnycorrig 1 ny)n,ynhf(tnyprdit 1 ny, ,,+ ++ =++ =+52Une valeur de yn+1est prdite par un Euler expliciteCette valeur prdite est ensuite corrige par un Euler implicite.La rsolution est alors explicite.Lquation de correction peut tre envisage plusieurs fois .ode113 solveur de type prdicteur-correcteur implant dans matlabode113 : Mthode de Adams Bashforth Moultonpas h variableordre de polynme variable (entre 1 et 13)ODE113 [t,Y]=ode45 (modele,tfin,y0)53[t,Y]=ode45 (modele,tfin,y0)modele est le nom du fichier *.m (funtion matlab) o est dfini le systme dEDO rsoudretfin estla valeur finale de la variable indpendante (temps final si cest le temps) y0 est un vecteur des conditions initialesY est une matrice qui contient le rsultat de lintgration; chaque colonne correspond une variable et chaque ligne correspond un valeur de la variable indpendante (vecteur t)