1. Trang chủ >
  2. Luận Văn - Báo Cáo >
  3. Thạc sĩ - Cao học >

l ĩjtnJ h o ĩ + TỊJ ^ 0 J

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 )


Ap dụng phương pháp Euler ấn cho phương trình vi phân đại số (2.3.6),

(2.3.7) ta được:

(A - L ) X [ + (AT X 2 Y - Ằ X 2 = 0, (A — L ) X I + (A T — L ) X 2 = 0.



(2.3.8)

(2.3.9)



Giả sử A là tham số thực

À < 0, À ^ 1.

Đặt



U



= (À — L ) X \ + X T X



2, V = x2,



hệ (2.3.6), (2.3.7) trở thành hệ phương trình vi phân thường

(2.3.10)

(2.3.11)

Đối biến số trong các số hạng của (2.3.8), (2.3.9)

u' = Ằv,

u =



l)zi,n “I" AínÍC2,nj



V.



vn = x2



,715



ta đi đến

(2.3.12)

(2.3.13) u n v n ỉ

và phép truy hồi

(u n



Un—



l) Ằu n -ị.



Đây chính là phương pháp Euler hiển cho phương trình vi phân thường

mặc dù ta đã dụng phương pháp Euler ẩn cho phương trình



U'



= XU



vi phân ẩn (2.3.4), (2.3.5). Vậy ta có kết luận, phương pháp Euler ẩn

áp dụng tới phương trình vi phân đại số (2.3.4), (2.3.5) là ổn định nếu

h<-ị



Các ví dụ trên cho thấy một số đặc thù khi sử dụng phương pháp Euler cho

phương trình vi phân đại số.



Phụ lục

Giải phương trình, hệ phương trình vi phân thường

trên Maple 16

Phụ lục trình bày tính toán một số ví dụ trên Maple 16 giải phương trình và hệ

phương trình vi phân.

Ví dụ 1. Giải phương trình

y' = xy 2 - 2xy, y(0) = 1,

trên [0,1] với h = 0.01 theo phương phấp Euler cải tiến và so sánh

với kết quả đúng của phương trình.

Giải

> / := ( x , y ) — > X * y 2 — 2 * X * y;

x y 2 - 2x y



/ := (x , y )

> h := 0.01;



h : = 0.01

> X : TI n* h

X := n —>■ nh

> y:= proc (n) option remember; y ( n — 1) + — f ( x ( n — 1 ) , y ( n — 1))

Ái



+



2



f(x(n)>y(n ~1) + hfixin



end



-



1



) , y i n -!)))



; y :=proc(n)

option remembev,



y ( n — 1) + 1/2 * h * f ( x ( n — 1 ) , y ( n — 1)) + 1/2 *

h * y ( n - l ) + h * f ( x ( n - 1 ) , y ( n - 1)) end proc

> »(0 ) := 1 ;

1 /(0 )



3

7

6



:= 1



> Sol := dsolve({điff(Y(X),X) = X ■ Y 2 (x ) - I X- Y(X),Y( 0) = !},

№)));

s l



° ■■=



> assign(Sol)',

> array([seq([n,y(n) : evalf(subs(X = ^,y(x)))],n = 0..10)]);

1



1 1.000000000



2 0.9999500000 0.9999500000

3 0.9998000000 0.9998000000

4 0.9995500000 0.9995500000

5 0.9992000001 0.9992000000

6 0.9987500006 0.9987500004

7 0.9982000019 0.9982000018

8 0.9975500049 0.9975500048

9 0.9968000110 0.9968000108

10 0.9959500223 0.9959500220

11 0.9950000420 0.9950000418

Ví dụ 2. Giải phương trình



y’ = X 2 + y 2 ,y( 0) = 0

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 kết quả đúng của phương trình.

Giải

> X :=' x'\y ■.=' y'\

> f ■= {x,y)



X2



f ■= {x,y) ->



+ y2\

X2



+ y2



3

7

7



>h:= 0 .01 ;



3

7

8

h



:= 0.01



> x : n —¥ n ■ h

X



:= N —>• N H



> y:= proc (n) option remember; Y ( N — 1 ) + ^ • F { X ( N — 1 ), Y ( N —

1 )) +



2



• F { X { N ) , Y { N - 1))) end;



y :=proc(n)

option remember',



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

>



0 (0 )



:= 0 ;

1 /(0 )



:= 0



> Y :=' Y ' ; X : = ' X';

> Sol := dsolve{{diff{Y{X), X) = X 2 + Y 2 {X), y(0) = 1}, (Y(X)))-,

10 X

X ( B e s s e l \ X 2 ) - BesselY{- f, ^X2))

-------------------—I —^------------------ti—I —^---- O T H E R

BesselJ{\, \X 2 )

- BesselY(\, \X 2 )

assign(Sol );



> X : n —>■ n ■ h

X := n nh



> array{[seq{[n ì y{n) ì evalf{subs{X = 7 ^,Y (X)))],n = 0..10)]);

100



0



1



;



1.000000000



2 0.9999500000



0.9999500000



3 0.9998000000



0.9998000000



4 0.9995500000



0.9995500000



5 0.9992000001



0.9992000000



6 0.9987500006



0.9987500004



7 0.9982000019



0.9982000018



8 0.9975500049



0.9975500048



9 0.9968000110



0.9968000108



10 0.9959500223



0.9959500220



11 0.9950000420



0.9950000418



Ví dụ 3. Giải phương trình

.

V



=



5x3 + 1

3 = V ' y(0) = 1



trên [0,1] theo phương pháp Euler cải tiến với h = 0.01 và so sánh

với giá trị đúng của phương trình.

Giải

> X :=' x’\y :=' y1-,



5 • X3 + 1)



(3-y)



/ := ( x , y )



> h:= 0.01;

h := 0.01



> y:= proc (n) option remember; Y ( N — 1) + — F ( X ( N — 1 ) , Y ( N — 1))

z

x n

n

+ 2 f( ( )^y( - 1 ) + h- f{x(n),y(n - 1))) end;

y :=proc(n)



option remember;

y(n — 1 ) + 1 / 2 * h* f(x(n — 1 ),y(n — 1 )) + 1 / 2 * h* f(x(n ), y(nl) + h* f(x(n -



1



),y(n - 1 ))) end proc



> y(0 ) := 1 ;

1 ,(0 )



:= 1



> Sol := dsolve({diff(Y(X),X) =



= 1},



S O L : = Y ( X ) = 3 - — >/16 - 1 0 X 4 - 8 X



> assign(Sol );

> array([seg([n,y(n),e^a//(sw&s(X = ^ y(X)))], n = 0..10)]);

0

0

1.0000000

1 1.005006278 00

1.0050062

72

2 1.010025251 1.0100252

26

3 1.015057242 1.0150571

86

4 1.020102729 1.0201026

28

5 1.025162348 1.0251621

90

6 1.030236892 1.0302366

64

7 1.035327317 1.0353270

06

8 1.040434742 1.0404343

33

9 1.045560451 1.0455599

34

1 1.050705897 1.0507052

0

55



(Vpf)));



3

8

1



Ví dụ 4. Giải phương trình

y ' = 2x y - X 2 , y ( 0) = 1



theo phương pháp Euler cải tiến với h = 0.02 trên [0,1].

Giải

> X : = ' x ' - , y :=' y ' ]

> f := ( x , y ) - > 2 • X ■ y - X 2 ]

f := ( x , y ) ^



2 ■ X ■ y - X2



> h := 0.02;

h := 0.02

> X:nn•h

X := 71 —»• n h



> y:= proc (n) option remember; 2/(n — 1) + — f ( x ( n — ĩ ) , y ( n — 1))

2

+



- 1) + ■

y



f(x(n),y(n - 1))) end;



:=proc(n)

option remembev,



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

> y { 0) := 1;

1/(0) := 1



> Sol := dsolve({dif f(Y(X),X) = 2-X-Y{X)-X 2 , Y (0) = 1}, (rpí)));

Sol := Y{X) = -X- ^-e ỵ 2 yfĩrerf{x) + e* 2 Ái “t

> assign(Sol)',

> X : TI n • h

> array([seq([n,y(n),evalf(subs(X = Y (X)))],n = 0..10)]);

X := n —¥ nh



3

8

2



0

1

1

1 1.000396000 1.00039741

3

2 1.001577109 1.00157993

4

3 1.003530148 1.00353438

4

4 1.006243771 1.00624942

0

5 1.009708433 1.00971549

7

6 1.013916363 1.01392484

8

7 1.018861548 1.01887146

3

8 1.024539721 1.02455107

7

9 1.030948353 1.03096116

6

1 1.038086660 1.03810094

0

9

Ví dụ 5. Giải phương trình

Y'



= 3sin(2x) + cos(a^), 2 /(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 phương trình.

Giải

> X :=' X ' \ Y :=' Y 1 ]

>



F



:= ( X :



Ỳ)



— ¥ 3 • sin(2 • X ) + cos(x);



/ := (X , y) —> 3 sin(2 • x) + cos(x)

>



H



:= 0 .0 1 ;



/i := 0 . 0 1

> y:= proc (n) option remember; y(n — 1) + —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 remember;



3

8

3



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

> y{ 0 ) := l;

1 /(0 )



:= 1



>

> Sol := dsolve({dif f(Y(X),X) = 3 • sin(2 • X) + cos(X),y(0) =

l},(y(X)));



Sol := Y{X) = —- cos(2 X) + sm{X) + > assign(Sol );

= ĩẫpy (*)))]



1,



EVALF(SUBS(X



0



1



1.00000000

0



1



1.010299730 1.010299823



2



1.021198300 1.021198507



3



1.032694350 1.032694690



4



1.044786281 1.044786775



5



1.057472255 1.057472921



6



1.070750194 1.070751052



7



1.084617782 1.084618853



8



1.099072466 1.099073769



9



1.114111455 1.114113010



1

0



1.129731723 1.129733550



Ví dụ 6 . Giải phương trình

y ' = 3 x - y ( 1) = 2

> X : TI n • h



X



X := n —¥ nh



3

8

4



theo phương pháp Euler cải tiến với h = 0.1 trên [1,2] và so sánh với

giá trị đúng của phương trình.

Giải

>



X :='



x'\y



■.=' y';



> f := {x,y)



3 •XX

f := (x,y) -> 3íc - -



X



> h : = 0.1;

/ì := 0 . 1



X



:= 71 —»• 1 +



nh



> y:= proc (n) option remember; Y ( N — 1) + — F ( X ( N — 1 ) , Y ( N — 1))

z

x n

n

+ 2 f( ( )^y( - 1 ) + h- f{x(n),y(n - 1))) end;

y :=proc (n)

option remember',



y{n — 1) + 1/2 * h* f(x(n — 1),y(n — 1)) + 1/2 * h* f(x(n ),

y(n-l) + h* f{x(n - 1 ),y(n - 1))) end proc >»(1 ) :=2 ;

»(1 ) := 2

>

> Sol := dsolve({diff(Y(X),X) = 3 - X -



= 2}, (Y(X)));



X 3 -I- 1

S o l := Y ( X ) =



> assign(Sol)',

> array([seq([n, y(n), evalf (subs(X = ^,y(Ji)))],n = 0..10)]);

0

2

2.11909090

1 2.164583333 9

2.27333333

3

2 2.359230769 2.45923076

9



Xem Thêm
Tải bản đầy đủ (.docx) (395 trang)

×