Vous êtes sur la page 1sur 27

Euler

/* Initial-Value Problem */:


dy

= f ( x, y)
dx

y ( a ) = y0

x [a , b]

(1)

f (x, y) [a, b] R1 y Lipschitz


x, y L | f ( x , y1 ) f ( x , y2 ) | L | y1 y2 |
[a, b] y1(x) y2(x) IVP

y(x) a = x0< x1<< xn= b


y i y( x i ) ( i = 1, ... , n)

hi = xi +1 xi ( i = 0, ... , n 1)
hi = h ()

(1)
: y0 , y1 , y 2 , , yn +1
yn
Euler(),:

yn + 1 =
yn + h f ( x n , yn ) ( n =
0,1, 2, ... )
:

y' = y + x + 1

y ( 0) = 1

x0

h = 0.1, x = 0.5
: f ( x , y ) = y + x + 1,Euler

yn +1 = yn + h( yn + xn + 1)

h =
0.1, yn +1 =+
0.9 yn 0.1( xn + 1), :
1
2
3
4
5
n=0
0.3
0.4
0.5
xn = 0 0.1 0.2
yn = 1.0 1.0 1.01 1.029 1.0561 1.09049

: y =
f ( x) =
x + e x , x5 =
0.5,
y(0.5) = 1.106531
y

1.0048

1.0187

1.0408

1.0703

1.1065

,Euler.


EulerIVP
1. ,Euler
y( x1 ) y( x0 )

h
y( x1 ) y( x0 ) + hy( x0 ) = y0 + h f ( x0 , y0 ) y1 x0
y( x0 )

yn + 1 =
yn + h f ( x n , yn ) ( n =
0,1, 2, ... )
2. Taylor

y( x n + h) x n Taylor
2
h
y( x n + h) = y( x n ) + hy ' ( x n ) +
y '' ( )
2!

x1

,Euler

yn + 1 =
yn + h f ( x n , yn ) ( n =
0,1, 2, ... )
3.

[ xn , xn+1 ]
y ' = f ( x , y )

xn+1
xn

'

y dx

xn+1

f ( x , y )dx ( n
=
xn

0,1, )

yn +1 , yn y( xn +1 ), y( xn ),

xn+1
xn

f ( x , y )dx h f ( xn , yn )

yn + 1 =
yn + h f ( x n , yn ) ( n =
0,1, 2, ... )

Euler
/* implicit Euler method */

y( x1 ) y( x0 )
y( x1 )
h

x0

x1

y ( x1 ) y0 + h f ( x1 , y ( x1 ))
yn + 1 =
yn + h f ( x n + 1 , yn + 1 ) ( n =
0,1, 2, ... )
yi+1
/* implicit */ /* explicit */

/* trapezoid formula */
y n +1

h
y n + [f (xn , y n ) + f (xn +1 , y n +1 )] (n =
0,1, 2 )
=
2

/* midpoint formula */

y( x1 )

y( x 2 ) y( x0 )
2h

y( x 2 ) y( x0 ) + 2h f ( x1 , y( x1 ))

x0

y n +1 =
y n 1 + 2h f (xn , y n ) n =
1, 2,

x1

x2

/* modified Eulers method */


Step 1: yn+1 = y n + h f ( x n, y n)
Step 2: yn+1

h
yn+1 = yn + [ f ( x n, yn) + f ( x n+1 , yn+1 )]
2

h
y n +1 =
y n + f (xn , y n ) + f ( xn +1 , y n + h f (xn , y n ) )
2

(n =
0, 1, 2 )

- /* predictor-corrector
method */

2x
'
y = y
y

y(0) = 1.

(0 < x < 1);


:

=
y

1+ 2x

h = 0.1
yn +1

2 xn
=
yn + h( yn
).
yn

2 xn

yn + h( yn
);
yp =
yn

2 xn +1

yn + h( y p
);
yc =
yp

1
=
yn +1
( y p + yc ).
2


1.
: yn y( xn )

en = y( x n ) yn
x n,

x n1 , , x1

,:

yn +=
yn + hQ( xn , yn , h )
1
Q( xn , yn , h ) Euler
'
,
y
,
h
)
f
=
(
x
,
y
)
y
( xn )
Q( x=
n
n
n
n

: y( x )(1),
n, yn = y( xn ) ,

E n+1 = y( x n+1 ) y n+1 = y( x n+1 ) ( y( x n ) + hQ ( x n , y( x n ), h))

x n +1
E n +1 = O ( h p +1 )
p

,Taylor:
3
h

=
+
+
+
(
)
[
(
)
(
)
(
)
(
)] [ yn + hf ( xn , yn )]
En +=
y
x
y
y
x
hy
x
y
x
O
h
n +1
n +1
n
n
n
1
2
2

h2
y( xn ) + O( h3 )
2

Euler2
h
y n +1 =
y n + f (xn , y n ) + f ( xn +1 , y n + h f (xn , y n ) )
2

(n =
0, 1, 2 )

2.
x = x0 + n h h0 (
n ) yn y( xn )

y = y

y ( 0) = y0

y( x ) = y0 e x

yn h yn =
(1 + h) yn
yn +1 =+

yn= (1 + h)n y0

x = xn = nh
yn =
y0 (1 + h) xn / h =
y0 [(1 + h)1/ h ] xn
lim(1 + h)1 / h = e
h 0

y0 e x n = y ( x n )

,
:IVP(1)

yn+1 = yn + hQ ( x n , yn , h, )

O( h p +1 ) ( p 1) , Q ( xn , yn , h) y
Lipschitz,L>0,

Q ( x , y , h) Q ( x , y , h) L y y
yy :
p
e
=
O
h
(
)
n

lim(1 + h)1 / h = e
h 0

EulerEuler
1
Q( x , y , h) = ( f ( x , y ) + f ( x + h, y + hf ( x , y )))
2

1
Q ( x , y , h) Q ( x , y , h) f ( x , y ) f ( x , y ) +
2
f ( x + h, y + hf ( x , y )) f ( x + h, y + hf ( x , y ))
LfyLipschitz,

Q( x , y , h) Q( x , y , h) L(1 + h / 2) y y
hQLipschitzEuler.

3.
y( x ) = 30 y( x )
y(0) = 1
[0, 0.5]

,h=0.1

xi
0.0
0.1
0.2
0.3
0.4
0.5

1.0000
2.0000
4.0000
8.0000
1.6000101
3.2000101

1.0000
2.5000101
6.2500102
1.5625102
3.9063103
9.7656104

1.0000
2.5000
6.2500
1.5626101
3.9063101
9.7656101

y = e

30 x

1.0000
4.9787102
2.4788103
1.2341104
6.1442106
3.0590107


/*absolutely
stable */

/* test equation */

y = y
h
0 = y0 y0
h = h h
A B A B

yn h yn =
(1 + h)n +1 y0
yn+1 =+
0 = y0 y0

yn +=
(1 + h)
1

n +1

yn + 1 yn + 1 =
(1 + h)
n +1 =

n +1

Img

y0

-2

-1

Re

0 h = h
| 1 + h | < 1
yn + h yn+1
yn+=
1
yn + 1

1
yn
=

1 h

n +1

1
=

1 h

Img
n +1

0
0

| 1 h | > 1

Re

Euler