EULER03 - Page 1 sur 18 IUFM de Lorraine - M.SCHWING Résolution numérique d'une
EULER03 - Page 1 sur 18 IUFM de Lorraine - M.SCHWING Résolution numérique d'une équation différentielle Méthode d’EULER Principe de la méthode d’EULER : Cas d’une équation différentielle du premier ordre dont la forme mathématique est : y) f(x, dx dy = A partir de la connaissance de la valeur de y = y0 pour une valeur de x = x0, on peut calculer la valeur de dx dy en ce point soit 0 dx dy . La valeur estimée de y pour x = x0 + dX sera prise égale à y0+dY = y0+ 0 dx dy dx. C’est une méthode itérative. La valeur yi+1 est déterminée en ajoutant ∆yi à la valeur yi . yi+1 = yi+ ∆yi = yi+ ∆x × f(xi,yi) Si on note h le pas de discrétisation en x, la méthode d'EULER définit deux suites : • une première qui définit les valeurs de x : terme initial : relation de récurrence : • une deuxième qui permet d'évaluer les valeurs de y : terme initial : relation de récurrence : x0 xi+1 = xi+h y0 yi+1 = yi+h×f(xi,yi) yi yi+1 = yi + dy dx i h xi xi + h y x EULER03 - Page 2 sur 18 IUFM de Lorraine - M.SCHWING On remarquera que les valeurs estimées obtenus seront d’autant plus proches des valeurs exactes que le pas h est plus petit. y x x1 x2 x3 x4 x5 x6 y1(Euler) y2(Euler) La courbe en trait plein correspond à la solution analytique. Exemple mathématique : considérons l'équation différentielle : y . x 2 dx dy − = avec y(x=0)=1 La solution analytique est : ) x exp( y 2 − = i xi ) x exp( y 2 i i − = 0 0 1 1 0,1 0,9900 2 0,2 0,9608 3 0,3 0,9139 4 0,4 0,8521 5 0,5 0,7788 Méthode d'EULER : à compléter ligne par ligne i xi yi ∆y = -2 × xi × yi ×∆x Yi+1= yi +∆y 0 0 1 -2×0×1×0,2 = 0 1 1 0,2 1 -2×0,2×1×0,2 = - 0,08 0,92 2 0,4 0,92 -2×0,4×0,92×0,2 = - 0,15 0,77 3 0,6 0,77 4 0,8 5 1,0 L’exemple ci-dessous montre que la méthode d’EULER pourrait être mise en œuvre « à la main ». EULER03 - Page 3 sur 18 IUFM de Lorraine - M.SCHWING 0,0 0,2 0,4 0,6 0,8 1,0 1,2 -0,2 0,0 0,2 0,4 0,6 0,8 1,0 1,2 1,4 1,6 1,8 2,0 La courbe en trait gras correspond à la solution exacte, les points correspondent aux valeurs obtenues par la méthode d’EULER. Le principe de la méthode d’EULER est rappelé par les segments. Exercice Euler1 : reproduire la figure ci-dessus 1) Mettre en œuvre la méthode d’EULER avec EXCEL puis tracer « manuellement » un ou deux vecteurs tangents. A B C D E F dy x yexact yeuler 5 =-2*D5*B5*dt 0 =EXP(-B5^2) 1 #N/A #N/A 6 =-2*D6*B6*pas 0,2 =EXP(-B6*B6) =D5+A5 #N/A #N/A 7 =-2*D7*B7*pas 0,4 =EXP(-B7*B7) =D6+A6 #N/A #N/A 8 =-2*D8*B8*pas 0,6 =EXP(-B8*B8) =D7+A7 #N/A #N/A 9 =-2*D9*B9*pas 0,8 =EXP(-B9*B9) =D8+A8 #N/A #N/A 10 =-2*D10*B10*pas 1 =EXP(-B10*B10) =D9+A9 #N/A #N/A 11 =-2*D11*B11*pas 1,2 =EXP(-B11*B11) =D10+A10 #N/A #N/A 12 =-2*D12*B12*pas 1,4 =EXP(-B12*B12) =D11+A11 #N/A #N/A 13 =-2*D13*B13*pas 1,6 =EXP(-B13*B13) =D12+A12 #N/A #N/A 14 =-2*D14*B14*pas 1,8 =EXP(-B14*B14) =D13+A13 #N/A #N/A 15 =-2*D15*B15*pas 2 =EXP(-B15*B15) =D14+A14 #N/A #N/A 16 #N/A 0-pas/2 #N/A #N/A YEuler-dy #N/A 17 #N/A 0+pas/s #N/A #N/A Yeuler+dy #N/A 18 #N/A 0.2-pas/2 #N/A #N/A #N/A YEuler-dy 19 #N/A 0.2+pas/2 #N/A #N/A #N/A Yeuler+dy Les contenus des plages B16:B17 et E16:E17 permettent le tracé du vecteur tangent au point (0,1) ; ceux des plages B18:B19 et F18:F19 permettent le tracé du vecteur tangent au point (0,2 ;yeuler(0,2)) et ainsi de suite. EULER03 - Page 4 sur 18 IUFM de Lorraine - M.SCHWING 2) On pourra écrire une macro pour effectuer les calculs relatifs à tous les points. Macro susceptible de réaliser les calculs correspondants : Private Sub CommandButton1_Click() Dim pas, xx, xxx As Single Dim compteur, ligne, indice As Integer Dim x(20), dy(20), y(20), ddy, yy, yyy As Single Worksheets("feuil2").Range("e5:o37").Value = "#N/A" Worksheets("feuil2").Range("a16:o37").Value = "#N/A" '************************************************* 'Recherche de la valeur du pas d'intégration pas = Worksheets("feuil2").Range("$b$2").Value '************************************************* 'Lecture des valeurs de x,y et dy et rangement dans un tableau For compteur = 0 To 10 ligne = compteur + 5 x(compteur) = Worksheets("feuil2").Range("b" & ligne).Value y(compteur) = Worksheets("feuil2").Range("d" & ligne).Value dy(compteur) = Worksheets("feuil2").Range("a" & ligne).Value Next compteur '************************************************* 'Pour tracer le vecteur tangent en un point il faut déterminer 'les coordonnées de ses deux extrémités 'xi-pas/2, yi-dy/2 et xi+pas/2, yi+dy/2 'on pourra ensuite tracer le segment correspondant à 'condition de placer les 2 ordonnées dans une même colonne For compteur = 0 To 20 If compteur Mod 2 = 0 Then indice = Int(compteur / 2) xx = x(indice) - pas / 2 xxx = x(indice) + pas / 2 ddy = dy(indice) yy = y(indice) - ddy / 2 yyy = y(indice) + ddy / 2 Worksheets("feuil2").Range("b" & compteur + 16).Value = xx Worksheets("feuil2").Range("b" & compteur + 17).Value = xxx Worksheets(2).Cells(compteur + 16, indice + 5).Value = yy Worksheets(2).Cells(compteur + 17, indice + 5).Value = yyy End If Next compteur End Sub EULER03 - Page 5 sur 18 IUFM de Lorraine - M.SCHWING Exercice Euler2 : Décharge d’un condensateur dans une résistance. R C i u dt du RC dt dq R Ri u − = − = = u RC 1 dt du − = Solution analytique : − t RC 1 exp U = u 0 t Méthode d’EULER : t u RC 1 + u u u = u i i i i 1 + i ∆ × ∆ + − = dt 0,1 s RC 0,5 s U0 5 V 0,0 1,0 2,0 3,0 4,0 5,0 6,0 0 0,5 1 1,5 u(Exact) u(Euler) A B C D t u(Exact) u(Euler) ∆u 7 0 =U0*EXP(-t/RC) 5 =dt*(-1/RC)*C7 8 =A7+dt =U0*EXP(-t/RC) =C7+D7 =dt*(-1/RC)*C8 9 =A8+dt =U0*EXP(-t/RC) =C8+D8 =dt*(-1/RC)*C9 Un pas d’intégration de valeur inférieure à 0,1 donnerait un meilleur résultat. EULER03 - Page 6 sur 18 IUFM de Lorraine - M.SCHWING Exercice Euler3 : Cinétique chimique : Etude de la réaction de saponification de l'éthanoate d'éthyle CH3COOC2H5 + Na+ + OH- → CH3COO- + Na+ + C2H5OH CH3COOC2H5 OH- Na+ CH3COO- a a a 0 a-x a-x a x Notations : a : valeur commune des concentrations molaires initiales de l’ester et des ions hydroxyde dans le mélange réactionnel x : avancement volumique de la réaction Supposons la réaction d'ordre global 2 (1 par rapport à l’ester et 1 par rapport à l’ion hydroxyde ) : ( )2 x a k dt dx − × = dont la solution analytique est : + × × − × = 1 a t k 1 1 a x On pourra comparer les valeurs obtenues par la méthode analytique et celles obtenues par la méthode d’EULER : ( ) t x - a k t x + t t + t x 2 t t x x = ∆ × × + = ∆ ∆ 0 0,001 0,002 0,003 0,004 0,005 0,006 0,007 0,008 0,009 0,01 0 100 200 300 400 EXACT EULER x=f(t) ∆t k c0 10 3 0,01 s L/mol/s mol/L A B C D t xExact xEULER x 11 0 0 0 =h*k*(C0-C11)^2 12 =A11+∆t =C0*(1-(1/(k*A12*C0+1))) =C11+D11 =h*k*(C0-C12)^2 EULER03 - Page 7 sur 18 IUFM de Lorraine - M.SCHWING Exercice Euler4 : Etablissement d’un courant dans un circuit R,L : régime transitoire i u Ri -L di dt ) ft 2 sin( 2 U ) t ( u dt di L Ri π = = + soit : ) ft 2 sin( 2 L U i L R dt di π + − = Solution analytique : C’est un équation différentielle du premier ordre du type : y) f(x, y -k dx dy + × = Solution de l’équation sans second membre 0 = + i L R dt di : − = t L R exp A i Solution particulière (régime permanent) : ) ft 2 sin( 2 I i ϕ + π = Avec 2 2 ) L ( R U I ω + = et R L tan ω = ϕ Conditions initiales : i(t=0) = 0 On en déduit : − ϕ − − ϕ − ω ω + = t L R exp ) sin( ) t sin( ) L ( R 2 U i 2 2 Méthode d’Euler : On utilise la relation t t ) i ( L R L ) ft 2 sin( 2 U dt di − π = pour calculer de proche en proche les valeurs de i à partir de la valeur de i(t=0) =0 L uploads/s3/ methode-d-x27-euler-pour-les-edo.pdf
Documents similaires
-
166
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Mai 09, 2022
- Catégorie Creative Arts / Ar...
- Langue French
- Taille du fichier 0.2232MB