Chương 6: Giải gần đúng phương trình vi phân - Pdf 19


Chương 6
GIẢI GẦN ĐÚNG PHƯƠNG TRÌNH VI PHÂN
I. Mở đầu. Các bài toán thường gặp có thể 2 loại:
* Bài toán Côsi : là bài toán dạng phương trình vi phân với
điều kiện bổ sung (điều kiện ban đầu) đã cho tại không quá
một điểm.
C - hằng số tích phân, phụ thuộc điều kiện ban đầu
- Mỗi giá trị của C 1 nghiệm xác định.
- Xác định C cần biết thêm 1 điều kiện ban đầu, ví dụ
Ví dụ: Cho phương trình vi phân cấp 1: y’ = 2x + 1; (a)
- Nghiệm tổng quát : y = x
2
+ x + C; (b)
y(x=1) = 2; (c) (b) C = 0;
Nghiệm của (a) là y = x
2
+ x thoả mãn (a) và (c).
Bài toán tìm hàm số y(x) thoả mãn p/t vi phân (a) và điều kiện
ban đầu (c) bài toán Côsi.

Bài toán Côsi đối với phương trình vi phân cấp 1:
- Cho khoảng [x
0
, X]
- Tìm hàm số y = y(x) xác định trên [x
0
, X] thoả mãn:
y’ = f(x,y);
Xxx
≤≤

0
:
⋅⋅⋅+−+⋅⋅⋅+−+−+=
k
k
xx
k
xy
xx
xy
xx
xy
xyxy )(
!
)(
)(
!2
)("
)(
!1
)('
)()(
0
0
)(
2
0
0
0
0

( 1 ) , ( 2 ); n càng lớn độ chính xác càng cao.
0
xx −
đủ bé, chuỗi ( 5 ) nghiệm của ( 1 ), ( 2 )
Với
( ) ( )
);,(,,)("
0000
ηηη
xfx
y
f
x
x
f
xy ⋅


+


=
( 7 )

Ví dụ 1. Tìm nghiệm xấp xỉ của:
;'
yx
y
y
+

+

+−

+
=









+
=
′′
;
27
4
)21(
2
3
2
1
)1(
2
−=
+

Ví dụ 2. Tìm nghiệm gần đúng của phương trình vi phân:
- x
0
= 0; y
0
= 1;
y’(0) = 2.0 – 1 + 1
2
= 0.
y’ = 2x – 1 + y
2
; ( a )
với điều kiện ban đầu: y(0) = 1.
( b )
- Đạo hàm ( a ):
;20.1.22)0(
=+=
′′
y
;22 yyy

+=
′′
( c )
- Đạo hàm ( c ):
;22
2
yyyy
′′
+

k
xx
k
xy
xx
xy
xx
xy
xyxy )(
!
)(
)(
!2
)("
)(
!1
)('
)()(
0
0
)(
2
0
0
0
0
0
( 5 )

2. Phương pháp Ơ le.

-
Mục đích: tìm giá trị gần đúng của y(x) chỉ tại các nút x
i
,
không phải tại mọi
[ ]
.,
0
Xxx

Thành lập công thức tính:
- y(x
i
) – giá trị đúng của y(x) tại x
i
;
- u
i
– giá trị gần đúng tính được của y(x
i
);
- Giả sử đã biết u
i
, cần tính u
i+1
tại x
i+1
.
y’ = f(x, y);
Xxx ≤≤

- Điều kiện ban đầu u
0
= η
( )
;,.
0001
uxfhuu +=
( )
;,.
1112
uxfhuu
+=
. . . . . . . . . . . . . . . . .
( )
;,.
1 iiii
uxfhuu +=
+
);)(()()(
iii
xxxyxyxy −

+=
( 8 )
biết u
i
-
( )
;,.
1 iiii

)/n ;
- Tính x
i
= x
0
+ ih;
- Đặt u
0
= η
- Tính u
i+1
= u
i
+ h.f(x
i
,u
i
) với i = 0, 1, 2, . . ., n ;
- Đặt u(x
i
, h) = u
i
; thay h = h/2 tính lại;
- Đặt u(x
i
,h/2) = u
i
; u(x
i
, h/2) ~ y(x

,






−≈−






h
xuhxuxy
h
xu
iiii
(10)

- Đánh giá sai số: Sau khi tính được u tại x
i
với bước h: u(x
i
,h)
tính u(x
i
, h/2) nghiệm sai số :
Các bước tính:

, h) = u
i
; thay h = h/2 tính lại;
- Đặt u(x
i
,h/2) = u
i
; u(x
i
, h/2) ~ y(x
i
)
- Sai số:
;
2
,),()(
2
,






−≈−






Quy ước viết 0(h
k
): Đại lượng φ(h) phụ thuộc h và 0 khi
h 0. Nếu tồn tại một hằng số dương M
1
không phụ thuộc h
sao cho
0;)(
1
>≤
khMh
k
ϕ
thì viết φ(h) = 0(h
k
)
φ(h) là một vô cùng bé cỡ 0(h
k
).
viết sai số của công thức Ơle: e
i
= u
i
– y(x
i
) = 0(h).

3. Phương pháp hình thang.
Phương pháp Ơle có độ chính xác không cao.
Thay (9)

i
, có thể dùng
phép lặp đơn:
Quá trình lặp dừng lại ở bước k khi
ε – sai số cho phép.
).(0;)(
2
hxyu
ii
=−
);,(
)0(
1
iii
i
uxhfuu +=
+
[ ]
;),(),(
2
)1(
1
1
)(
1

+
+
+
++=

hxyu
ii
=−
);22(
6
1
43211
kkkkuu
ii
++++=
+
(14)
).,(.
);5,0,5,0(.
);5,0,5,0(.
);,(.
34
23
12
1
kuhxfhk
kuhxfhk
kuhxfhk
uxfhk
ii
ii
ii
ii
++=
++=

0,4
0,6
0,8
1,0
1,
1,2
1,37333
1,53150
1,68108
1,82695
1,
1,1832292
1,3416668
1,4832847
1,6124665
1,7320713
1,
1,1832160
1,3416407
1,4832397
1,6124516
1,7320508
Hình thang
1,
1,18667
1,34832
1,49372
1,62888
1,75438


n
– các hàm đã biết.
Để đơn giản, xét hệ hai phương trình:
Cho khoảng [x
0
, X], tìm 2 hàm số y = y(x) và z = z(x) xác định
trên [x
0
, X] và thoả mãn các phương trình:
).,.,.,,(
).,.,.,,(
).,.,.,,(
21
2122
2111
nnn
n
n
yyyxfy
yyyxfy
yyyxfy
=

=

=

( 16 )
. . . . . . . . . . . . . . . . .
y’ = f(x,y,z); z’ = g(x, y, z); ( 18 )

xfxzxyxfxy
xzxy
==

==

==
⋅⋅⋅+

′′
+−

+=
2
)(
)())(()()(
2
0
0
000
xx
xyxxxyxyxy
⋅⋅⋅+

′′
+−

+=
2
)(

, v
0
, tính được u
1
, v
1
, biết u
i
, v
i
, u
i+1
, v
i+1
.
3. Phương pháp hình thang.Tương tự ( 11 )
[ ]
;),,(),,(
2
*
1
*
111 ++++
++=
iiiiiiii
vuxfvuxf
h
uu
u
0

1 iiiii
vuxghvv +=
+
),,(.
),,(.
1
1
iiiii
iiiii
vuxghvv
vuxfhuu
+=
+=
+
+
( 21 )
Để nâng cao độ chính xác của nghiệm, khi đã biết u
i
, v
i
, dùng
phương pháp lặp để tính u
i+1
, v
i+1
tương tự như đã biết.
);,,(
)0(
1
iiii

( 23 )

Dừng quá trình tính khi
;
)1(
1
)(
1
ε
<−

++
k
i
k
i
uu
ε - sai số cho phép.
Đối với v
i+1
cũng tính tương tự.
4. Phương pháp Runge-Kutta.
Đặt u
0
= η
1
; v
0
= η
2

334
223
112
1
lvkuhxfhk
lvkuhxfhk
lvkuhxfhk
vuxfhk
iii
iii
iii
iii
+++=
+++=
+++=
=
( 24 )
( 25 )
với
( 26 )

).,,(.
);5,0,5,0,5,0(.
);5,0,5,0,5,0(.
);,,(.
334
223
112
1
lvkuhxghl

0
) = y
2,0
; . . ., y
(n-1)
(x
0
) = y
n,0
( 27 )
( 28 )
Cách giải.
Đưa về hệ p/t vi phân cấp 1 bằng cách đặt:
y
1
= y, y
2
= y’, . . ., y
n
= y
(n-1)
y’
1
= y
2
y’
2
= y
3
y’

(x
0
) = y
n,0

Xét phương trình vi phân cấp 2:
Tìm hàm y = y(x) xác định trên [x
0
, X] thoả mãn phương trình:
y” = f(x, y, y’)
điều kiện ban đầu y(x
0
) = η
0
; y’(x
0
) = η
1
.
Đặt: y’ = z z’ = y” = f (x, y, y’) = f(x, y, z)
( 29 )
( 30 )
( 29 ) hệ hai phương trình cấp 1:
z’ = f(x, y, z)
y’ = z
( 31 )
với
z(x
0
) = η

( c )
( a )
y
x
z
zyxgzzyxf −−== ),,(;),,(
Dùng công thức Ơle, chọn h = 0,1.
;;),,(
1 iiiiiiiii
hzyyyzyxhfyy =∆∆+=+=
+
;;),,(
1






+−=∆∆+=+=
+
y
x
z
hzzzzyxhgzz
iiiiiiii
Lập bảng tính:
( b )
y(1) = 0,77; z(1) = - 0,44. ( d )


3
4
5
1,0
1,1
1,2
1,3
1,4
1,5
0,77
0,726
0,679
0,629
0,576
-0,44
-0,473
-0,503
-0,529
-0,044
-0,047
-0,050
-0,053
-0,33
-0,296
-0,260
-0,033
-0,030
-0,026


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status