Beruflich Dokumente
Kultur Dokumente
Mthode dEULER
Principe de la mthode dEULER :
Cas dune quation diffrentielle du premier ordre dont la forme mathmatique est :
dy
= f(x, y)
dx
A partir de la connaissance de la valeur de y = y0 pour une valeur de x = x0, on peut
calculer la valeur de
dy
dy
en ce point soit . La valeur estime de y pour
dx
dx 0
dy
x = x0 + dX sera prise gale y0+dY = y0+ dx.
dx 0
Cest une mthode itrative.
La valeur yi+1 est dtermine en ajoutant yi la valeur yi .
yi+1 = yi+ yi = yi+ x f(xi,yi)
Si on note h le pas de discrtisation en x, la mthode d'EULER dfinit deux suites :
une premire qui dfinit les valeurs de x :
terme initial : x0
relation de rcurrence : xi+1 = xi+h
yi+1 = yi +
dy
h
dx i
yi
x
xi
xi + h
On remarquera que les valeurs estimes obtenus seront dautant plus proches des
valeurs exactes que le pas h est plus petit.
y
y2 (Euler)
y1 (Euler)
x1
x2
x3
x4
x5
x6
dy
= 2x.y avec
dx
y(x=0)=1
La solution analytique est : y = exp( x 2 )
i
xi
y i = exp( x i2 )
0
1
2
3
4
5
0
0,1
0,2
0,3
0,4
0,5
1
0,9900
0,9608
0,9139
0,8521
0,7788
xi
0
0,2
0,4
0,6
0,8
1,0
yi
1
1
0,92
0,77
y = -2 xi yi x
-2010,2 = 0
-20,210,2 = - 0,08
-20,40,920,2 = - 0,15
Yi+1= yi +y
1
0,92
0,77
Lexemple ci-dessous montre que la mthode dEULER pourrait tre mise en uvre la
main .
1,2
1,0
0,8
0,6
0,4
0,2
0,0
-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 mthode dEULER. Le principe de la mthode dEULER est rappel par
les segments.
Exercice Euler1 : reproduire la figure ci-dessus
1) Mettre en uvre la mthode dEULER avec EXCEL puis tracer manuellement un ou
deux vecteurs tangents.
A
dy
B
x
C
yexact
D
yeuler
=-2*D5*B5*dt
=EXP(-B5^2)
#N/A
#N/A
=-2*D6*B6*pas
0,2
=EXP(-B6*B6)
=D5+A5
#N/A
#N/A
=-2*D7*B7*pas
0,4
=EXP(-B7*B7)
=D6+A6
#N/A
#N/A
=-2*D8*B8*pas
0,6
=EXP(-B8*B8)
=D7+A7
#N/A
#N/A
=-2*D9*B9*pas
0,8
=EXP(-B9*B9)
=D8+A8
#N/A
#N/A
10
=-2*D10*B10*pas
=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
=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 3 sur 18
IUFM de Lorraine - M.SCHWING
2) On pourra crire une macro pour effectuer les calculs relatifs tous les points.
Macro susceptible de raliser 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'intgration
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 dterminer
'les coordonnes de ses deux extrmits
'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 ordonnes dans une mme 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
u = Ri = R
dq
du
= RC
dt
dt
du
1
=
u
dt
RC
1
t
RC
1
ui t
RC
dt
RC
U0
0,1
0,5
5
s
s
V
6,0
5,0
4,0
u(Exact)
3,0
u(Euler)
2,0
1,0
0,0
0
7
8
9
A
t
0
=A7+dt
=A8+dt
0,5
B
u(Exact)
=U0*EXP(-t/RC)
=U0*EXP(-t/RC)
=U0*EXP(-t/RC)
1,5
u(Euler)
5
=C7+D7
=C8+D8
D
u
=dt*(-1/RC)*C7
=dt*(-1/RC)*C8
=dt*(-1/RC)*C9
OH-
Na+
CH3COO-
a-x
a-x
Notations :
a : valeur commune des concentrations molaires initiales de lester et des ions hydroxyde
dans le mlange ractionnel
dx
= k (a x )2
dt
x = a 1
k t a + 1
On pourra comparer les valeurs obtenues par la mthode analytique et celles obtenues par
la mthode dEULER :
x t + t = x t + x t = x t + k (a - x t ) t
2
0,01
0,009
0,008
0,007
0,006
0,005
0,004
0,003
0,002
0,001
0
0
100
200
EXACT
300
400
EULER
x=f(t)
t
10
s
A
t
11 0
12 =A11+t
k
3
L/mol/s
B
xExact
0
=C0*(1-(1/(k*A12*C0+1)))
c0
0,01
mol/L
C
xEULER
0
=C11+D11
D
x
=h*k*(C0-C11)^2
=h*k*(C0-C12)^2
Exercice Euler4 : Etablissement dun courant dans un circuit R,L : rgime transitoire
-L di
dt
Ri + L
Ri
di
= u( t ) = U 2 sin(2ft )
dt
soit :
di
R U
= i+
2 sin(2ft )
dt
L
L
Solution analytique :
Cest un quation diffrentielle du premier ordre du type :
Solution de lquation sans second membre
dy
= -k y + f(x, y)
dx
di R
+ i=0 :
dt L
R
i = A exp t
L
Solution particulire (rgime permanent) : i = I 2 sin(2ft + )
U
L
tan =
Avec
I=
et
R
R 2 + (L) 2
Conditions initiales : i(t=0) = 0
On en dduit :
U 2
i=
R 2 + (L) 2
R
sin(t ) sin( ) exp L t
di U 2 sin(2ft ) R
Mthode dEuler : On utilise la relation =
(i)t pour calculer de
L
L
dt t
proche en proche les valeurs de i partir de la valeur de i(t=0) =0
u R it
di
it + dt = it + dt = it + t
L
dt t
EULER03 - Page 7 sur 18
IUFM de Lorraine - M.SCHWING
u
0
t
t+dt
u(t)
u(t+dt)
R
L
f
w
Z
Ueff
Umax
dt
A
t
t
0
B
u
= Umax SIN(w*t)
C
i
11
1,1
50
= 2**f
=(R2+L2w2)-1/2
23
=Ueff1,141
0,001
i
0
H
Hz
V
V
s
40
0,2
30
0,15
20
0,1
10
0,05
0
0
-10
-0,05
-20
-0,1
-30
-0,15
-0,2
-40
0
0,05
u
0,1
i(EULER)
0,15
i(ANALYTIQUE)
0,2
d2 x
dt
= -h
dx
- kx
dt
soit
x"+2x'+02 x = 0
dx
On pose : x' =
=v
dt
L'quation ci-dessus devient :
d2 x
dt
dv
h
k
= 2v 02 x = - v - x
dt
m m
dt
proche en proche les valeurs de x(t) partir de la valeur de x(t=0) et des valeurs
de v(t) dtermines prcdemment.
X(Euler)
0,01
X(exact)
0
-0,01
-0,02
-0,03
-0,04
0
x(t)
EULER03 - Page 9 sur 18
IUFM de Lorraine - M.SCHWING
Solutions analytiques :
2
2
SI ( - w0 )<0 :
x=EXP(-*t)*(x0*COS((w02-2)^0,5*t)+(v0+*x0)/((w02-2)^0,5)*SIN((w02-2)^0,5*t))
2
2
SI ( - w0 )=0 x=EXP(-*t)*(x0+(v0+*x0)*t)
2
2
SI ( - w0 >0 :
2
2
2
2
2
2
x=EXP(-*t)*(x0*COSH((-w0 + )^0,5*t)+(v0+*x0)/(( -w0 + )^0,5)*SINH((-w0 + )^0,5*t)))
dt
0,02
s
w02
50
s-2
Alpha ()
1
s-1
x0
0,05
m
v0
0
m.s-1
X(Euler)
=v0
=x0
=(-w02_*D30-2**B30)*dt
=V*dt
31
=A30+dt
=B30+C30
=(-w02_*D31-2**B31)*dt
=D30+E31
=V*dt
32
=A31+dt
=B31+C31
=(-w02_*D32-2**B32)*dt
=D31+E32
=V*dt
33
=A32+dt
=B32+C32
=(-w02_*D33-2**B33)*dt
=D32+E33
=V*dt
34
=A33+dt
=B33+C33
=(-w02_*D34-2**B34)*dt
=D33+E34
=V*dt
=SI(( - w0 )<0 ;
2 2
2 2
2 2
EXP(-*t)*(x0*COS((w0 - )^0,5*t)+(v0+*x0)/(( w0 - )^0,5)*SIN((w0 - )^0,5*t)) ;
2
2
SI(( - w0 )=0 ;
EXP(-*t)*(x0+(v0+*x0)*t) ;
2
2
2
2
2
2
EXP(-*t)*(x0*COSH((-w0 + )^0,5*t)+(v0+*x0)/(( -w0 + )^0,5)*SINH((-w0 + )^0,5*t))))
Rgime pseudopriodique
0,05
2 - 02 < 0
0,02
y(0) = 0,05 m
v(0) = 0 m.s-1
= 1s-1
02=50 s-2
0,04
0,03
0,01
0
-0,01
-0,02
-0,03
-0,04
0
X(Euler)
Rgime critique
2 - 02 = 0
y(0) = 0,05 m
v(0) = 0 m.s-1
= 1s-1
02=1 s-2
Le retour l'quilibre
s'effectue plus
rapidement que dans le
rgime apriodique
X(exact)
0,06
0,05
0,04
0,03
0,02
0,01
0
0
2
X(Euler)
3
X(exact)
0,06
Rgime apriodique
2 - 02 > 0
0,05
0,04
0,03
y(0) = 0,05 m
v(0) = 0 m.s-1
= 1 s-1
02=0,4 s-2
0,02
0,01
0
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
X(Euler)
X(exact)
dv
= g
dt
Mthode d'EULER :
a = g =
y
v=
dv
dv
v(t + dt) = v(t) + dt = v(t)-gdt
dt
dt t
dy
dy
y(t + dt) = y(t) + dt = y(t) + v( t ) dt
dt
dt t
V0
dy
y(t + dt) = y(t) + dt = y(t) + v ( t ) dt not y1
dt t
ou
dy
y(t + dt) = y(t) +
dt = y(t) + v( t + dt ) dt not y2
dt t + dt
ou
y(t + dt) = y(t) +
1
{v( t + dt ) + v( t )} dt not y3
2
Solution exacte :
y=0,5gt2+v0t+y0
25
20
y1
15
y2
y3
10
y(exact)
5
0
0
y(t)
y0
v0
dt
20,0
9,80
0,10
m.s-1
m.s-2
Exercice Euler7 : Chute amortie par des forces de frottement pouvant tre
modlise par -kV2
m
d2y
dt 2
=m
v2
dv
dv
k
= + mg kv 2 ou a =
= +g v 2 = g1 ,
2
dt
m
dt
v
L
Expression de v(t)
v
Effectuons les changements de variable : v = u vL et t = L avec v L =
g
du
g
=
(1 u2 )
dt v L
du
= 1 u2
d
ou
1
1 u
1 (1 + u)(1 u0 )
ln
2 (1 u)(1 + u0 )
dont on dduit : v = v L
1 1+ u
ln
+ cte
2 1 u
et
v=v0 u0=v0/vL
soit
u=
(1 + u0 )exp(2) (1 u0 )
(1 + u0 )exp(2) + (1 u0 )
vL
(vL + v 0 )exp 2gt + (vL v 0 )
vL
Si v = v0 = 0
2gt
exp
1
v L
gt dz
v = vL
= v L TANH =
2gt
v L dt
exp
+1
vL
gt
v2
y = L LN COSH
g
vL
mg
k
Expression de v(y)
du
g
du dy
du
(1 u2 ) =
=
= v Lu
dt v L
dy dt
dy
soit
v L2 du2
=
= (1 u2 )
2g
dy
v
On pose y = L
2g
du
2u
=
=1
d (1 u2 )
= ln
1 - u02
(1 u )
ou
( )
u2 = 1 1 - u02 exp( )
v2
2gy
2
= vL 1 1 - 0 exp
v 2
v L2
L
Rsolution numrique
V0
a=
dv
k
dv
v=
dy
dy
y(t + dt) = y(t) + dt = y(t) + v( t ) dt
dt
dt t
1
{v( t + dt ) + v( t )} dt
2
3,5
3,0
2,5
2,0
1,5
1,0
0,5
0
0,0
0,5
1,0
1,5
0,0
2,0
0,0
0,5
Y=f(t)
10
1,0
1,5
2,0
V(y)=h(t)
dt
0,010
B=k/m
1,00
m-1
10,00
m.s-2
vy0
0,00
m.s-1
B
t
C
Vy
D
Vy
E
y
F
y
=(g-B*Vy^2)xdt
=Vy*dt
11 =B10+dt
=(g-B*Vy^2)*dt
=D10+C10*dt
=Vy*dt
=F10+E10
12 =B11+dt
=(g-B*Vy^2)*dt
=D11+C11*dt
=Vy*dt
=F11+E11
0,50
1,00
vy(Euler)
1,50
vy(exact)
2,00
d2 OM
dt 2
Vy3
2
= mg j Vx i +
j
vy
v0
x
ma = mg + R f
Vy3
Vy3
R f = Vx2 i +
j . L'expression
permet de tenir compte de la valeur algbrique.
v
v
y
y
2
d x
= Vx2
2
dt
2
V3
d y = g y
dt 2
Vy
Mthode d'EULER :
A partir des conditions initiales : t=0 ; y(0)=0; x(0) =0; vx(0), vy(0), on calcule de proche en
proches les valeurs suivantes :
t i + 1 = t i + dt
(v x )i+1 = (v x )i + (v x )i dt
( )
avec (v )i = (a x )i t = Vx2 i t
V3
y
vy
= v y + v y dt avec v y = a y t = g
V
i+1
i
i
i
i
y
( )
( ) (
( ) ( )
Pour la dtermination de xi+1 et yi+1, on peut utiliser une des trois mthodes suivantes :
Mthode(1) (y1)
Mthode(2) (y2)
x i+1 = x i + (Vx )i dt
( )
y i+1 = y i + Vy i dt
Mthode(3) (y3)
x i +1 = x i +
x i +1 = x i + (Vx )i +1 dt
( )i +1 dt
y i + 1 = y i + Vy
y i +1 = y i +
(Vx )i + (Vx )i +1
2
dt
(Vy )i + (Vy )i +1
2
dt
0,03
m-1
V0x
3,0
m.s-1
V0y
3,0
m.s-1
x0
0,00
y0
0,00
10,0
m.s-2
dt
0,12
0,45
0,40
0,35
0,30
0,25
0,20
y1
0,15
y2
0,10
y3
0,05
y(RK4)
0,00
0,0
0,2
0,4
0,6
0,8
1,0
1,2
1,4