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 SinhVienZone.com https://fb.com/sinhvienzonevn SinhVienZone.
Trang 1BỘ 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)
SinhVienZone.com https://fb.com/sinhvienzonevn
SinhVienZone.Com
Trang 2NỘI DUNG
-
-A- BÀI TOÁN CÔSI (GIÁ TRỊ ĐẦU)
B- BÀI TOÁN BIÊN
SinhVienZone.com https://fb.com/sinhvienzonevn
SinhVienZone.Com
Trang 3BÀ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
) (
), , ( '
a y
b t
a y
t f y
Trang 4MINH HOẠ Ý TƯỞNG
-
-Bài toán Côsi:
& công thức xấp xỉ đạo hàm 2 điểm:
3 1 ) 0 (
0 , 2 5
5
y
t t
t y
y
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
x f h
x
f x
1
5 0 5
0
y
y
33 0 87
4 42
.
6 t 2 t
ygđ
c bt
at
ygđ.Lagrang e 2
SinhVienZone.com https://fb.com/sinhvienzonevn
SinhVienZone.Com
Trang 5CÁC SƠ ĐỒ GIẢI XẤP XỈ PTRÌNH VPHÂN THƯỜNG
, ( '
a
y
b a t
y t f
y
Chia [a, b] n đoạn
ih a
t n
a
b
Tính w i , i = 0 n
Sơ đồ Euler (i = 0 n – 1)
S/đ Euler cải tiến (i = 0 n – 1)
2 ) (
) ,
( ),
, (
2 1
1
1 2
1 0
k k
w w
k w
h t
hf k
w t hf k
w w
i i
i i
i i
i đã biết sử
Giả
) , (
.
1
0
i i i
i
i
w t hf w
w
w
Sơ đồ Runge –
) ,
( ),
2 ,
2 (
) 2 ,
2 (
), ,
(
4 3
2 1
1
3 1
4 2
3
1 2
1
k k
k k
w w
k w
t hf k
k w
h t
hf k
k w
h t
hf k
w t hf k
i i
i i
i i
i i
i i
Btoán Côsi: Tìm y(t)
SinhVienZone.com https://fb.com/sinhvienzonevn
SinhVienZone.Com
Trang 6VÍ 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 (
1 0
, 1
y
t t
y y
Giải: f(t,y) = y – t 2 + 1
5 0 ,
2 0 )
, (
5 0
2 1
0
i i
i i
i i
w w
SinhVienZone.com https://fb.com/sinhvienzonevn
SinhVienZone.Com
Trang 7KẾ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
1 0
3 2
1 0
1
0
2 2
2
2 2
1
SinhVienZone.com https://fb.com/sinhvienzonevn
SinhVienZone.Com
Trang 8VÍ 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: (0) 0.5
1 0
, 1
y
t t
y y
1 )
,
(t y y t 2 h
f
5 0 ,
( ,
) ,
1 1
2 1
k
k w
w k
w h t
hf k
w t hf k
i i
i i
i i
Trang 9VÍ DỤ RUNGE – KUTTA
-
-Tính y(1.) bằng Runge – Kutta với h = 0.5
5 0 )
0 (
1
y
t y y
) ,
( ,
) 2 ,
2 (
) 2
, 2
( ,
) , (
4 3
2 1
1
3 4
2 3
1 2
1
k k
k
k w
w
k w
h t
hf k
k w
h t
hf k
k w
h t
hf k
w t hf k
i i
i i
i i
i i
i i
Runge –
Kutta 4:
w i w i+1
75
4251302
6396027
2
SinhVienZone.com https://fb.com/sinhvienzonevn
SinhVienZone.Com
Trang 10HỆ PHƯƠNG TRÌNH VI PHÂN THƯỜNG
-
-Bài toán Côsi : Tìm hai hàm u 1 = u 1 (t), u 2 = u 2 (t) thoả
b t
a u
u t f dt
du
b t
a u
u t f dt
du
), ,
, (
), ,
, (
2 1 2
2
2 1 1
1
2 2
1 1
) (
) (
&
a u
a u
đầu kiện
Điều
2 2
1 1
i 2
i 1
0 2
0
1 w tính w w w
Biết
i t u w
t u w
i
i i
1 2 1
Trang 11MINH HOẠ Ý TƯỞNG
-
-Xét bài toán Côsi với hệ phương trình vi phân thường:
1 0
, 4
2 4
'
1 0
, 1
2 2
3 '
2
2 2
2 1
2
1
2 2
2 1
1
u e
t t
u u
u
u e
t u
u u
t t
Với bước chia h = 0.5, tính xấp xỉ nghiệm u 1 , u 2 tại t = 0.5; 1
So sánh giá trị tính được với giá trị nghiệm chính xác:
t t
t t
t t
e t e
e t
u e
e e
t
2
2 5
1
3
2 3
1
; 3
1 3
1
t u1 u2
0.51.0
1 0
1 0
0
? 5
0
? 1
Trang 12SƠ ĐỒ EULER
a u
u t f dt
du
b t
a u
u t f dt
du
), ,
, (
), ,
, (
2 1 2
2
2 1 1
1
2 2
1 1
) (
) (
&
a u
a u
đầu kiện
Điều
i i i
i i
i i i
i i
w w t hf w
w w
w t hf w
w1 1 1 1 , 1 , 2 , 2 1 2 2 , 1 , 2
2
0 2 1
, 4
2 4
'
1 0
, 1
2 2
3 '
2 ,
,
2 2
2 1
2
1 ,
,
2 2
2 1
1
2 1 2
2 1 1
u e
t t
u u
u
u e
t u
u u
u u t f
t
u u t f
1
0 2
0 1 2
1
w w
1 , 1 , 0 5
0 1
1 , 1 , 0 5
0 1
2
1 2
1
1 1
f w
f w
SinhVienZone.com https://fb.com/sinhvienzonevn
SinhVienZone.Com
Trang 13ÁP DỤNG : PHƯƠNG TRÌNH VI PHÂN CẤP 2
"
a y a
y
a t
y y t f y
Đưa về bài toán Côsi cấp 1: Đổi biến u 1 (t)= y(t), u 2 (t)=y’(t)
2 1 2
2
2 1 1
2 1
, , '
, , '
' '
, , '
u u t f y
y t f y
u
u u t f u
u
Điều kiện đầu:
2 2
1 1
' a
y a
u
a y a
u
2
0 2
1
0 1
w w
Sơ đồ Euler:
2 1 2
2
0 2
0 1 0 2
0 2
1 2
2 1
0 2
0 1 0 1
0 1
1 1
, , ,
,
, ,
a hf w
w t hf w
w
h w
w t hf w
w
SinhVienZone.com https://fb.com/sinhvienzonevn
SinhVienZone.Com
Trang 140 ( ' , 4 0 )
0 (
0 ,
sin 2
' 2
y y
t t e
y y
Đổi biến đưa về bài toán Côsi cấp 1: u 1 = y(t), u 2 = y’(t)
2 1 2
2 2
1
2 2
2 1
2 1 1
2 1
, , sin
2 2
sin '
2 2
'
6 0 0
, 4 0 0
&
, , '
u u t f t
e u
u t
e y y
u
u u
u u t f u
u
t t
6 0
4 0
0 6
0 ,
,
6 0 , 4 0 , 0 1
0 4
0 ,
,
2
0 2
0 1 0 2
0 2
1 2
1
0 2
0 1 0 1
0 1
1 1
f w
w t
hf w
w
f w
w t
hf w
w
SinhVienZone.com https://fb.com/sinhvienzonevn
SinhVienZone.Com
Trang 15BÀI TOÁN BIÊN
-
-Bài toán biên cấp 2: Tìm hàm y = y(x) thoả phương trình
b y a
y
b x
a y
y x f y
, )
(
), ' , , ( '
Hay gặp: Bài toán biên tuyến tính cấp 2
b y a
y
b x
a x
r y x q y x p y
,
), ( )
( '
) (
"
SinhVienZone.com https://fb.com/sinhvienzonevn
SinhVienZone.Com
Trang 16, 1 0
1 0
, 1
2 ' 1 '
y y
x e
x y
y x
SinhVienZone.com https://fb.com/sinhvienzonevn
SinhVienZone.Com
Trang 17PHƯƠNG PHÁP SAI PHÂN HỮU HẠN
-
-BT biên tuyến tính
b y a
y
b x
a x r y x q y x p y
,
* ),
( )
( '
) (
2 1
2 )
(
"
h
x y x
y x
y x
y x
y x
3 2
2 )
(
"
h
x y x
y x
y x
y
SinhVienZone.com https://fb.com/sinhvienzonevn
SinhVienZone.Com
Trang 18CÔNG THỨC LẮP GHÉP
-
-n n
n
q h p
h
p h
p
h q
h p
h
p
h q
2 2
1 1
2
2 2
1 0
0
2 1
0 0
2
1
2 2
1
0
0 2
1 2
n
p
h r
h
r h
r h
r h
p
h r
h
b
2 1
2 1
2
1 2
3 2 2 2
1 1
Trang 19LẬP BẢNG LẮP GHÉP
y
b x
a x r y x q y x p y
,
* ),
( )
( '
) (
Trang 202 )
0 (
3 2
2 ' 3
"
y y
x y
y y
h = 0.2 n = 5 6 điểm chia Hệ phương trình 4 ẩn
2 0
4 0
6 0
8 0
3 3 3 3
2 2 2 2
4 3 8 3 2 4 6 4
3 1 3 1 3 1
7 0 7 0 7 0
264 1 152 0 168 0 116 1
Ma trận cấp 4: Chéo chính a kk – 4 phần tử; Chéo trên a k, k+1 : 3
08 2 08 2 08 2 08 2
Trang 21168 0
152 0
264 1
08 2
3 1 0 0
7 0 0
0
08 2 7
0 0
3 1 08
2 7
0
0 3
1 08
2
b A
116 1
168 0
273 0
608 0
08 2
3 1 0 0
7 0 0
0
08 2 7
0 0
3 1 642
1 0
0 625
0 1
b
A
736 0
593 0
636 0
006 1
y
SinhVienZone.com https://fb.com/sinhvienzonevn
SinhVienZone.Com