Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (932.69 KB, 395 trang )
3
8
6
Y{ 0)
:= 1
>
> Sol := dsolve({diff(Y(X),X) = y(X)+exp(X), y(0) = 1}, {Y(x))y,
Sol := Y ( X ) = {X + l)e x
3
8
7
> assign(Sol)',
> array([seq([n : y(n),evalf(subs(X = ịỊỊõ, y(x)))], ra = 0..10)]);
0
1
2
3
4
5
6
7
8
9
1
0
1
1.
1020150251 1 02015066
9
1040604521 1 04060536
7
1061366886 1 06136817
0
1082441472 1 08244320
5
1103832458 1 10383465
1
1125544076 1 12554674
0
1147580609 1 14758375
4
1169946396 1 16995003
3
1192645828 1 19264997
0
1215683354 1 21568801
0
Ví dụ 8 . Giải phương trình
+ (x + l)3,
y' =
y{ 0 ) = 1
X + 1
theo phương pháp Euler cải tiến với h = 0.01 trên [0,1] và so sánh
với giá trị đúng của phương trình.
Giải
> X :=' X ' \ Y :=' Y 1 ]
>
F
:= ( X ,
+ (x + l)3;
Y)
a: + 1
/ := (3, ỉ/) -> -^7 + (s + l) 3 £ + 1
> h := 0.01;
/i := 0 . 0 1
X : TI n • h
X := n nh
> y:= proc (n) option remember;
3
8
Y ( N — 81 )
+ — F ( X ( N — 1 ) , Y ( N — 1 ))
z
+ 2 f( x ( n )^y( n - 1 ) + h- f{x(n),y(n - 1 ))) end;
Y
:=proc(n)
option R E M E M B E R ;
Y(N
— 1 ) + 1 / 2 * /i * F ( X ( N — 1 ), Y ( N — 1 )) + 1 / 2 * H * F ( X ( N ),
2 /(n - 1 ) + /i * /(z(n - 1 ) , Y { N - 1 ))) end proc
>
2 /(0 )
:= 1 ;
Y { 0)
:= 1
>
> Sol ■.= dsolve({diff (Y(X),X) =
(Y(X)))-,
2
+ ( X + \ f ,
y(0) = 1},
S o l : = Y ( X ) = (i^ 2 + X + 1)(X + l) 2
z
> assign(Sol)',
> array([seq([n, y(n), evalf (subs(X =
0
1
y(X)))], n = 0..10)]);
1.
1 1.003003500 1.00300350
2
2 1.006014012 1.00601401
6
3 1.009031548 1.00903155
4
4 1.012056120 1.01205612
8
5 1.015087740 1.01508775
0
6 1.018126420 1.01812643
3
7 1.021172172 1.02117218
7
8 1.024225008 1.02422502
6
9 1.027284940 1.02728496
1
1 1.027284961 1.03035200
0
5
Ví dụ 9. Giải phương trình
X := n nh
y' = —lnx
3
8
9
X X
y(l) = ị
2
theo phương pháp Euler cải tiến với h = 0.5 trên [1,10] và so sánh
với giá trị đúng của phương trình.
Giải
> / := (x,y) ->• — -ỉn{x) -
> /i := 0.5;
/i := 0.5
>
X
\ n —> 1 + n ■ h
X
:= n ^ 1 + nh
> y:= proc (n) option remember; y(n — 1 ) + —f(x(n —
1
),y(n — 1 )) +
-^f{x{n),y{n -ĩ) + h- f(x(n),y(n - 1 ))) end;
Y
:=proc(n)
option R E M E M B E R ;
Y(N
— 1 ) + 1 / 2 * H * F { X ( N — 1 ), Y ( N — 1 )) + 1 / 2 *
H * F ( X ( N ),
y(n - 1) + h* f{x(n - 1 ),y(n - 1 )))
end proc
>*(!):= ì;
vm = = ĩ
>
> Soỉ := đS0MW/(Y№,*) =
. ln(X) - )^P-,Y( 1) =
X := n nh
3
9
0
ịMi-pO));
S
° L = y(x> = 1 + X +
> assign(Sol)',
> array([seq([n, evaỉf(y(n)), evaỉf(subs(X — l+0.5-(n— 1),
Y (X)))], n — 0 ..1 0 )]);
1 0.500000000
2 0
0.399348463
1
3 0.340339641
2
4 0.300347287
1
5 0.270889328
6
6 0.247988243
6
7 0.229500676
8
8 0.214155814
5
9 0.201145559
7
1 0.189927795
0 0
Ví dụ 1 0 . Giải hệ phương trình
= Z X — yx
d
x
s ft
0.50000000
00
0.34417897
40
0.27077177
03
0.22643436
78
0.19613179
89
0.17382951
56
0.15658532
84
0.14277397
91
0.13141575
13
0.12188064
63
= 2 x + yx
y(0 ) = 1 , z(0 ) =
1
theo phương pháp Euler cải tiến với h = 0.01 trên [0,1] và so sánh
với giá trị đúng của hệ phương trình.
Giải
> / /'; 9 ■- 91’, X :=' x'\ y :=' y'\ h :=’ b!\
> / := (x,y,z ) -> ( z - y ) - x \
X := n nh