1 likes | 68 Views
methodes pour resoudre numu00e9riquement des equations diffu00e9rentielles, <br>by: Elyass ARRAMA
E N D
Résolution numérique des équations différentielles 1. 1. Méthode d’Euler Méthode d’Euler Notre problème est de résoudre Y ‘(t) =f(t,Y(t)) avec t∈ [?,?] (t)=50Y(t)+ Y(t)+√? Par exemple : Y’ Y’(t)=50 C’ad trouver Y(t)=∫f(x,Y(x)) dx Donc pour résoudre ça on peut approximer l’intégral par les méthodes d’intégrations numérique : On subdivise l’intervalled’un pas : h=?−? t0=a , t1 , t2 , …….. tn = b avec tk+1 – tk = h on choisit la la méthode méthode des rectangles des rectangles (gauche ) ∫ ?f f( (x x) )dx dx ≃ ≃(? − ? ) )f f( (a a) ) ? . (gauche ) : ? EA
Y(t)=∫f(x,Y(x)) dx Y(tk+1)- Y(tk) = ∫ Y(tk+1)= Y(tk) + (tk+1-tk) f(tk,Y(tk)) avec tk+1 – tk =h Y(tk+1)= Y(tk) + h f(tk,Y(tk)) D’où : Y Yk+1 = Yk k + + h f(t Si on travaille avec la la méthode méthode de rectangle droite Y Yk+1 = Yk k + + h f(t tk+1 tk f(x,Y(x))dx = (tk+1-tk) f(tk,Y(tk)) k+1= Y h f(tk k,Y ,Yk k) avec Y ) avec Y0 0 =Y(0). de rectangle droite h f(tk+1 =Y(0). k+1= Y k+1,Y ,Yk+1 k+1) ) avec Y avec Y0 0 =Y(0). =Y(0). EA
Revenant a notre exemple : Y’ Y’(t)=50 (t)=50Y(t)+ Avec : Y(0)=1 Y(t)+√? ; sur [0 : Y(0)=1 ; sur [0 ; 1 ; 1] ] h=0, h=0,1 1 (diviser l’intervalle en 10 sous intervalle) la formule c’est : Y Yk+1 f(tk k,Y ,Yk k) ) avec Y Y0 0=1 Y Y1 1=Y Y0 0+ h f(t0 ;Y Y0 0) =1+0,1(50*1+√0 )=6 6 Y Y2 2=Y Y1 1+ h f(t1 ;Y Y1 1) =6+0,1(50*6+√0,1 )=36,0316 Y Y3 3=Y Y2 2+ h f(t2 ;Y Y2 2) =36,0316+0,1(50*300,316+√0,2 )= 216,1343 . . . . . Y Y10 60146678,5926 ? Et avec c’est point on peut approcher la fonction (l’interpolation-DL). k+1= = Y Yk k + + h h f(t =1 ; f(t f(tk k,Y ,Yk k)= )= 50 50Y Yk k+ +√?k k 36,0316 216,1343 10=Y Y9 9+ h f(t9 ;Y Y9 9) =60146678,5926 EA
Et gardons en mémoire qu’on a travaillé avec la méthode des rectangles approcher l’intégral ; donc ca sera très intéressant si on utilise les méthodes des trapèzes / Simpson / trapèzes / Simpson / Gauss Gauss qui vont évidemment nous donner des approximations plus exactes. la méthode des rectangles pour ? ?C’est RUNGE-KUTTA !!!!!!!!!! EA
2. 2. Méthode de Méthode de RUNGE Si on utilise la méthode du trapèze la méthode du trapèze : : RUNGE- -KUTTA KUTTA : : ? dx ≃ ≃?−? ∫ ?f f( (x x) )dx ? [ [f f( (a a) )+ +f f( (b b)] )] d′où ??+? ?? ≃ ≃? ?[( [(f f( (t tk k, ,y y( (t tk k)) ))+ +f f( (t tk k+ +1 1, ,y y( (t tk k+ +1 1) ))] )] = = ? ?(?,?(?))?? ? [ [Y Y(t (tk k) )+ +Y Y(t (tk+1 k+1) )] ] ∫ Le problème ici je n’aurais pas la forme d’une suite Un+1=f(Un),car 'intégrale dépend des valeurs de Yk et Yk+1 . pour résoudre ce problème ? on revient chez monsieur Euler d'estimer la valeur Yk+1 qui intervient dans f(tk+1,y(tk+1)) . On obtient : = Yk k + + ? Euler afin Y Yk+1 k+1= Y ? ( (A A1 1 + +A A2 2) ) avec A A1 1= = f f( ( t tk k A A2 2= = f f( ( t tk k+h ; ; y y( (t tk k) ) +h ; ; y y( (t tk k) )+h ) ) +h* *A A1 1) ) On appel ça : Méthode de Méthode de RUNGE RUNGE- -KUTTA KUTTA d’ordre 2 d’ordre 2 EA
Ettttt si on utilise Simpson Simpson??? C’est : Méthode de Méthode de RUNGE RUNGE- -KUTTA ? [ [ f f( (a a) ) + + 4 4 f( f(?+? d′où: KUTTA d’ordre 4 d’ordre 4 ? dx ≃ ≃?−? ∫ ?f f( (x x) )dx ?) ) + + f f( (b b) ) ] ] ??+? ?? ≃ ≃? = =? ?(?,?(?))?? ?[ [ ( ( f f( ( t tk k , , y y( (t tk k) ) ) ) + + 4 4 f f( ( t t(k+1)/2 ? [ [ Y Y( ( t tk k ) ) + + 4 4 Y( (k+1)/2 ; ; y y( ( t t(k 1)/2) ) ) ) + + f f( ( t tk k+ +1 1 ; ; y y( ( t tk k+ +1 1 ) ) ) ) ] ] ∫ (k+ +1)/2 Y( t t(k+1)/2 (k+1)/2 ) ) + + Y Y( ( t tk+1 k+1 ) ) ] ] Encore le problème ☹ Un+1 et U(n+1/2) Euler On décompose le terme 4Y(t(k+1)/2)= 2Y(t(k+1)/2)+ 2Y(t(k+1)/2) Dans le premier, on remplace y(t(k+1)/2) par sa valeur déduite de la méthode d'Euler explicite explicite .Dans le deuxième terme, on la remplace par sa valeur déduite de la méthode d'Euler implicite d'Euler implicite . . Euler la méthode d'Euler la méthode EA
Les méthodes d'Euler implicite et explicite produisant des erreurs quasi opposées, on a ainsi Les méthodes d'Euler implicite et explicite produisant des erreurs quasi opposées, on a ainsi l'espoir l'espoir de minimiser l'erreur sur le calcul de minimiser l'erreur sur le calcul ? ? 4Y(t(k+1)/2)= 2A A2 2+2A A3 3 On obtient : = Yk k + + ? ? ( (A A1 1+2 Avec A A1 1= = f f( ( t tk k A A2 2= = f f( ( t tk k + +? A A3 3= = f f( ( t tk k + +? A A4 4= = f f( ( t tk k + + h h ; ; y y( (t tk k) ) + + h h* *A A3 3) ) Y Yk+1 k+1= Y +2A A2 2+2 +2A A3 3+ +A A4 4) ) ; ; y y( (t tk k) ) ?h h ; ; y y( (t tk k) ) + +? ?h h ; ; y y( (t tk k) ) + +? ) ) ?h h* *A A1 1) ) ?h h* *A A2 2) ) EA
Application: Application: Y’= Y’= 1 1 - - Y Y Y Y ‘(t) = On connaît la solution Y=1-?−? Quesque Quesque ça ça va nous donner RK4 va nous donner RK4 en Y A A1 1= f( 0; y(0) )=1 1 A A2 2= f(1 A A3 3= f(1 ‘(t) = f( t ; Y(t)) = 1 1 - - Y(t) Y(t) ; Y(0)=0 Y(0)=0 en Y1 1=Y(h) =Y(h) ? ? 2h ; y(0)+1 2h ; y(0)+1 2h*A A1 1)=1 1- -? 2h*A A2 2)= 1 1- -? ?h h ?(h h(1- -? (h- -? ?h²) h²) ?h+ h+? A A4 4= f( h ; y(0)+ h*A A3 3)= 1 1- - h(1 D’où Y Y1 1= Y0 + h Qui n'est rien d'autre que le le développement ?h²) h²) 6 (A1+2A2+2A3+A4 ) =h h - - ? h² +? ? h h3 3 - -? ? h² + ?? h h4 4 développement limité limité de la solution exacte Y(h) Y(h) à l'ordre l'ordre 4 4 ? ووووووووحرفنو EA