BỘ MÔN TOÁN ỨNG DỤNG - ĐHBK
-------------------------------------------------------------------------------------
PHƯƠNG PHÁP TÍNH – SV
CHƯƠNG 5
GIẢI PHƯƠNG TRÌNH VI PHÂN THƯỜNG
•
TS. NGUYỄN QUỐC LÂN (5/2006)
NỘI DUNG
---------------------------------------------------------------------------------------------------------------------------
A- BÀI TOÁN CÔSI (GIÁ TRỊ ĐẦU)
B- BÀI TOÁN BIÊN
1 – PHƯƠNG PHÁP EULER
1- PHƯƠNG PHÁP SAI PHÂN HỮU HẠN
2 – EULER CẢI TIẾN + RUNGE – KUTTA
3 – HỆ PHƯƠNG TRÌNH VI PHÂN THƯỜNG
4 – PHƯƠNG TRÌNH VI PHÂN CẤP CAO
BÀI TOÁN CÔSI
---------------------------------------------------------------------------------------------------------------------------
Tìm hàm y = y(t) thoả phương trình vi phân thường &
điều kiện đầu
Giải xấp xỉ: Chia [a, b] thành n đoạn bằng nhau, độ dài h
= (b – a)/n, (n + 1) điểm chia t
0
= a < t
1
= a + h < … < t
n
= b
=
≤≤=
α
)(
),,('
ay
btaytfy
a
b
a = t
0
b = t
n
t
1
t
2
h
y
0
= α
y
1
= ?
Cần tính gần đúng giá trò w
k
≈ y
k
= y(t
k
), k = 1 → n
MINH HOẠ Ý TƯỞNG
----------------------------------------------------------------------------------------------------------------------------------------
Bài toán Côsi:
& công thức xấp xỉ đạo hàm 2 điểm:
=
≤++−=
31)0(
0,255'
2
y
tttyy
Từ đó xây dựng đa thức nội suy Lagrange (spline) y
gđ
và vẽ
đồ thò so sánh với nghiệm chính xác g(t) =
hãy tính xấp xỉ nghiệm y tại t = 0.5, t = 1.
Với bước chia h = 0.5
h
xfhxf
xf
)()(
)('
00
0
−+
≈
t
et
52
3
1
−
+
Điểm chia:
0
0
=
t
5.0
1
=
t
.1
2
=
t
Kết quả tìm được:
( )
( )
875.10.1
5.05.0
=
−=
y
y
33.087.442.6
2
+−=⇒
tty
gđ
cbtaty
++=
2
egđ.Lagrang
CÁC SƠ ĐỒ GIẢI XẤP XỈ PTRÌNH VPHÂN THƯỜNG
-------------------------------------------------------------------------------------------------------------------------------
[ ]
=
∈=
α
)(
,),,('
ay
batytfy
Chia [a, b] → n đoạn
ihat
n
ab
h
i
+=
−
= ,
Tính w
i
, i = 0 → n
Sơ đồ Euler (i = 0 → n – 1)
S/đ Euler cải tiến (i = 0 → n – 1)
2)(
),(),,(
.
211
121
0
kkww
kwhthfkwthfk
ww
ii
iiii
i
++=
++==
⇒=
+
biếtđãsửGiả
α
),(
.
1
0
iiii
i
wthfww
ww
+=
⇒=
+
biếtđãsửGiả
α
Sơ đồ Runge –
Kutta: w
0
= α.
Giả sử biết w
i
⇒
++++=
+=++=
++==
+
+
6)22(
),(),2,2(
)2,2(),,(
43211
31423
121
kkkkww
kwthfkkwhthfk
kwhthfkwthfk
ii
iiii
iiii
Btoán Côsi: Tìm y(t)
VÍ DỤ PHƯƠNG PHÁP EULER
--------------------------------------------------------------------------------------------------------------------------------
Sơ đồ Euler:
Bằng p/pháp Euler, giải bài toán Côsi với n = 3 đoạn chia:
So sánh nghiệm xấp xỉ với nghiệm g(t) = (t+1)
2
– 0.5e
t
.
Từ đó tính xấp xỉ tích phân bằng c/t hình thang:
=
≤≤+−=
5.0)0(
10,1'
2
y
ttyy
∫
=
1
0
)( dttyI
Giải: f(t,y) = y – t
2
+ 1
5.0,0
00
==
wt
11
, wt
22
, wt
33
, wt
h = (b–a)/n = 1/3
+−+=+=
=
+
)1(2.0),(
5.0
2
1
0
iiiiiii
twwwthfww
w
KẾT QUẢ PHƯƠNG PHÁP EULER
-----------------------------------------------------------------------------------------------------------------------------
Bảng kết quả:
Tính gần đúng tích phân với công thức hình thang
i t
i
w
i
g
i
= g(t
i
) | g
i
- w
i
|
0 0 0.5 0.5 0
1 1/3
2 2/3
3 1.
( ) ( ) ( ) ( )
[ ] [ ]
32103210
1
0
22
2
22
2
)( wwww
h
tytytyty
h
dtty +++≈+++≈
∫
3528807.1=
VÍ DỤ EULER CẢI TIẾN
--------------------------------------------------------------------------------------------------------------------------------
Tính y(1.) của bt Côsi sau bằng
SĐ Euler cải tiến với h = 0.5:
=
≤≤+−=
5.0)0(
10,1'
2
y
ttyy
i t
i
w
i
k
1
k
2
0 0.0 0.5
1 0.5
2 1.0
5.0,1),(
2
=+−= htyytf
5.0,0
0
==
α
t
?,5.0
11
==
wt
22
, wt
2
),(,),(
21
1121
kk
wwkwhthfkwthfk
iiiiii
+
+=→++==
+
0.75 1.0
1.375 1.0625
2.515625
1.21875