Bài giảng Phương pháp tính: Chương 5 - TS. Nguyễn Quốc Lân
lượt xem 54
download
Bài giảng Phương pháp tính: Chương 5 trình bày phương pháp giải phương trình vi phân thường bao gồm bài toán côsi (giá trị đầu), bài toán biên.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Phương pháp tính: Chương 5 - TS. Nguyễn Quốc Lân
- 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) 1 – PHƯƠNG PHÁP EULER 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- BÀI TOÁN BIÊN 1- PHƯƠNG PHÁP SAI PHÂN HỮU HẠN
- 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 y ' = f (t , y ), a ≤ t ≤ b y (a ) = α 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 t0 = a < t1 = a + h < … < tn = b y1 = ? y0 = α a h b a = t0 t1 t2 b = tn Cần tính gần đúng giá trị wk ≈ yk = y(tk), k = 1 → n
- MINH HOẠ Ý TƯỞNG ---------------------------------------------------------------------------------------------------------------------------------------- y ' = −5 y + 5t 2 + 2t , 0 ≤ t Bài toán Côsi: Với bước chia h = y (0) = 1 3 0.5 f ( x + h) − f ( x ) & công thức xấp xỉ đạo hàm 2 điểm: f ' ( x0 ) ≈ 0 0 h hãy tính xấp xỉ nghiệm y tại t = 0.5, t = 1. Từ đó xây dựng đa thức nội suy Lagrange (spline) ygđ và vẽ 1 −5 t đồ thị so sánh với nghiệm chính xác g(t) = t + 3 e 2 Điểm chia: t0 = 0 t1 = 0.5 t 2 = 1. Kết quả tìm y ( 0.5) = −0.5 ygñ.Lagrang = at 2 + bt + c e được: y (1.0 ) = 1.875 ⇒ ygñ = 6.42t 2 − 4.87t + 0.33
- CÁC SƠ ĐỒ GIẢI XẤP XỈ PTRÌNH VPHÂN THƯỜNG ------------------------------------------------------------------------------------------------------------------------------- Btoán Côsi: Tìm y(t) Sơ đồ Euler (i = 0 → n – 1) y ' = f (t , y ), t ∈ [ a, b] w0 = α . Giaû wi ñaõ ⇒ söû bieát wi +1 = wi + hf (ti , wi ) y (a ) = α Chia [a, b] → n đoạn S/đ Euler cải tiến (i = 0 → n – 1) b−a h= , ti = a + ih w0 = α . Giaû wi ñaõ ⇒ söû bieát n Tính wi, i = 0 → n k1 = hf (ti , wi ), k 2 = hf (ti + h, wi + k1 ) wi +1 = wi + (k1 + k 2 ) 2 Sơ đồ Runge – k1 = hf (ti , wi ), k 2 = hf (ti + h 2 , wi + k1 2) Kutta: w0 = α. k3 = hf (ti + h 2 , wi + k 2 2), k 4 = hf (ti +1 , wi + k3 ) w = w + ( k + 2k + 2k + k ) 6 Giả sử biết wi ⇒ i +1 i 1 2 3 4
- VÍ DỤ PHƯƠNG PHÁP EULER -------------------------------------------------------------------------------------------------------------------------------- Bằng p/pháp Euler, giải bài toán Côsi với n = 3 đoạn chia: y ' = y − t 2 + 1, 0 ≤ t ≤ 1 y (0) = 0.5 So sánh nghiệm xấp xỉ với nghiệm g(t) = (t+1)2 – 0.5et. 1 Từ đó tính xấp xỉ tích phân bằng c/t hình thang: I = ∫ y (t )dt 0 Giải: f(t,y) = y – t2 + 1 t0 = 0, w0 = 0.5 t1 , w1 t 2 , w2 t3 , w3 h = (b–a)/n = 1/3 w0 = 0.5 Sơ đồ Euler: wi +1 = wi + hf (ti , wi ) = wi + 0.2( wi − ti2 + 1)
- KẾT QUẢ PHƯƠNG PHÁP EULER ----------------------------------------------------------------------------------------------------------------------------- Bảng kết quả: i ti wi gi = g(ti ) | gi - wi | 0 0 0.5 0.5 0 1 1/3 2 2/3 3 1. Tính gần đúng tích phân với công thức hình thang 1 h ∫ y(t )dt ≈ [ y( t0 ) + 2 y( t1 ) + 2 y( t2 ) + y( t3 ) ] ≈ h [ w0 + 2w1 + 2w2 + w3 ] 0 2 2 = 1.3528807
- VÍ DỤ EULER CẢI TIẾN -------------------------------------------------------------------------------------------------------------------------------- Tính y(1.) của bt Côsi sau bằng y ' = y − t 2 + 1, 0 ≤ t ≤ 1 SĐ Euler cải tiến với h = 0.5: y (0) = 0.5 f (t , y ) = y − t 2 + 1 , h = 0.5 t0 = 0, α = 0.5 t1 = 0.5, w1 = ? t 2 , w2 k1 + k 2 k1 = hf (ti , wi ) , k 2 = hf (ti + h, wi + k1 ) → wi +1 = wi + 2 i ti wi k1 k2 0 0.0 0.5 0.75 1.0 1 0.5 1.375 1.0625 1.21875 2 1.0 2.515625
- VÍ DỤ RUNGE – KUTTA -------------------------------------------------------------------------------------------------------------------------------- y' = y − t 2 + 1 Tính y(1.) bằng Runge – Kutta với h = 0.5 y (0) = 0.5 h k k1 = hf (ti , wi ) , k 2 = hf (ti + , wi + 1 ) Runge – 2 2 Kutta 4: wi k3 = hf (ti + h 2 , wi + k 2 2) , k 4 = hf (ti + h, wi + k3 ) k + 2k 2 + 2k3 + k 4 → wi+1 wi +1 = wi + 1 6 i ti wi k1 k2 k3 k4 0 0.0 0.5 0.75 0.90625 0.9451325 1.0976563 1 0.5 1.4251302 1.0875651 1.2032064 1.2331167 1.3286235 2 1.0 2.6396027
- HỆ PHƯƠNG TRÌNH VI PHÂN THƯỜNG ---------------------------------------------------------------------------------------------------------------------------------- Bài toán Côsi : Tìm hai hàm u1 = u1(t), u2 = u2(t) thoả du1 = f (t , u , u ), a ≤ t ≤ b dt 1 1 2 u1 (a ) = α1 & Ñieàu kieän ñaàu du2 = f 2 (t , u1 , u2 ), a ≤ t ≤ b u2 (a ) = α 2 dt Chia [a, b] thành đoạn bằng nhau: Phân hoạch & rời rạc hoá w10 = α1 , w2 = α 2 w1 , w1 0 1 2 α1 , α 2 u1 ( t1 ) , u2 ( t1 ) = ? w12 , w2 = ? 2 a = t0 t1 = a + h t 2 = a + 2h Ký hiệu: w1 ≈ u1 (ti ), w2 ≈ u2 (ti ), i ≥ 0 ⇒ Bieát 1 , w2 tínhw1, w2 ? w0 0 i i i i
- MINH HOẠ Ý TƯỞNG ---------------------------------------------------------------------------------------------------------------------------------------- Xét bài toán Côsi với hệ phương trình vi phân thường: u1 ' = 3u1 + 2u2 − ( 2t 2 + 1) e 2t , u1 ( 0 ) = 1 u2 ' = 4u1 + u2 + ( t 2 + 2t − 4 ) e 2t , u2 ( 0 ) = 1 Với bước chia h = 0.5, tính xấp xỉ nghiệm u1, u2 tại t = 0.5; 1 So sánh giá trị tính được với giá trị nghiệm chính xác: 1 5t 1 −t 1 5t 2 −t 2 2 t u1 ( t ) = e − e + e ; u2 ( t ) = e + e + t e 2t 3 3 3 3 t0 = 0 t1 = 0.5 t 2 = 1. t u1 u2 Điểm chia: 0 1 1 u1 ( 0 ) = 1 u1 ( 0.5) = ? u1 (1) = ? 0.5 u2 ( 0 ) = 1 u2 ( 0.5) = ? u2 (1) = ? 1.0
- SƠ ĐỒ EULER ---------------------------------------------------------------------------------------------------------------------------------- Bài toán Côsi : Tìm hai hàm u1 = u1(t), u2 = u2(t) thoả du1 = f (t , u , u ), a ≤ t ≤ b dt 1 1 2 u1 (a ) = α1 & Ñieàu kieän ñaàu du2 = f 2 (t , u1 , u2 ), a ≤ t ≤ b u2 (a ) = α 2 dt S/đồ Euler: w1 = α1 , w2 = α 2 Giaû bieát1i , w2 ( i = 0 → n − 1) 0 0 söû w i w1i +1 = w1i + hf1 ( ti , w1i , w2 ) , i w2+1 = w2 + hf 2 ( ti , w1i , w2 ) i i i u1 ' = 3u1 + 2u2 − ( 2t + 1) e , u1 ( 0 ) = 1 2 2t ⇒ α1 = 1 w10 = 1 ⇒ 0 f1 ( t ,u1 ,u 2 ) α 2 = 1 w2 = 1 VD: u2 ' = 4u1 + u2 + ( t 2 + 2t − 4 ) e 2t , u2 ( 0 ) = 1 w1 = 1 + 0.5 f1 ( 0,1,1) = 1 f 2 ( t ,u1 ,u 2 ) w1 = 1 + 0.5 f 2 ( 0,1,1) = 2
- ÁP DỤNG : PHƯƠNG TRÌNH VI PHÂN CẤP 2 ---------------------------------------------------------------------------------------------------------------------------------- Bài toán Côsi cấp 2 (Ph/trình vi phân cấp 2 và đkiện đầu): y" = f ( t , y, y ') , t ≥ a y ( a ) = α1 , y ' ( a ) = α 2 Đưa về bài toán Côsi cấp 1: Đổi biến u1(t)= y(t), u2(t)=y’(t) u1 ' = u2 = f1 ( t , u1 , u2 ) u2 ' = y ' ' = f ( t , y, y ') = f 2 ( t , u1 , u2 ) u1 ( a ) = y ( a ) = α1 w10 = α1 Điều kiện đầu: ⇒ 0 u2 ( a ) = y ' ( a ) = α 2 w2 = α 2 w1 = w10 + hf1 ( t0 , w10 , w2 ) = α1 + hα 2 1 0 Sơ đồ Euler: 1 w2 = w2 + hf 2 ( t0 , w10 , w2 ) = α 2 + hf 2 ( a, α1 , α 2 ) 0 0
- VÍ DỤ ---------------------------------------------------------------------------------------------------------------------------------- Với h = 0.1, tính xấp xỉ giá trị y(0.2), y’(0.2) của nghiệm bài toán sau bằng phương pháp Euler: y"−2 y '+2 y = e 2t sin t , t ≥ 0 y (0) = −0.4, y ' (0) = −0.6 Đổi biến đưa về bài toán Côsi cấp 1: u1 = y(t), u2 = y’(t) ⇒ u1 ' = u2 = f1 ( t , u1 , u2 ) & u1 ( 0 ) = −0.4 , u2 ( 0 ) = −0.6 u2 ' = −2 y + 2 y '+ e 2t sin t = −2u1 + 2u2 + e 2t sin t = f 2 ( t , u1 , u2 ) w10 = −0.4 w1 = w10 + hf1 ( t0 , w10 , w2 ) = −0.4 + 0.1 f1 ( 0,−0.4,−0.6 ) 1 0 0 ⇒ 1 w2 = −0.6 w2 = w2 + hf 2 ( t0 , w10 , w2 ) = −0.6 + 0.1 f 2 ( 0,−0.4,−0.6 ) 0 0
- BÀ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 y ' ' = f ( x, y, y ' ), a ≤ x ≤ b y (a ) = α , y ( b ) = β Hay gặp: Bài toán biên tuyến tính cấp 2 y" = p ( x) y '+ q ( x) y + r ( x), a ≤ x ≤ b y( a ) = α , y( b ) = β
- MINH HOẠ ---------------------------------------------------------------------------------------------------------------------------------- Tính giá trị nghiệm y của bài toán biên tuyến tính cấp 2 y ' ' = −( x + 1) y '+2 y + (1 − x 2 ) e − x , 0 ≤ x ≤ 1 y ( 0 ) = −1, y (1) = 0 tại các điểm chia cách đều của [0, 1] với bước chia h = 1/3 và xấp xỉ đạo hàm y’, y’’ bằng công thức hướng tâm Điểm chia: x0 = 0 x1 = 1 3 x2 = 2 3 x3 = 1 1 = y = ? 2 = y = ? y ( 0 ) = y0 = −1 y 1 y 2 y (1) = y3 = 0 3 3
- PHƯƠNG PHÁP SAI PHÂN HỮU HẠN --------------------------------------------------------------------------------------------------------------------------------------- y" = p ( x) y '+ q ( x) y + r ( x), a ≤ x ≤ b ( *) BT biên tuyến tính y( a ) = α , y( b) = β Chia [a, b] thành các đoạn nhỏ bằng nhau. Thay x = xk vào (*). Xấp xỉ y’(xk) , y’’(xk): công thức đạo hàm hướng tâm y ( x2 ) − y ( x0 ) y ( x3 ) − y ( x1 ) y ' ( x1 ) ≈ y ' ( x2 ) ≈ 2h 2h h a= x0 x1 x2 x3 b= xn+1 y ( x2 ) − 2 y ( x1 ) + y ( x0 ) y ( x3 ) − 2 y ( x2 ) + y ( x1 ) y" ( x1 ) ≈ y" ( x2 ) ≈ h2 h2
- CÔNG THỨC LẮP GHÉP ------------------------------------------------------------------------------------------------------------------------------------- n mốc xk ∈ (a, b) – ứng n giá trị yk chưa biết → Ma trận cấp n Ký hiệu pk = p(xk) … yk = y(xk), 1 ≤ k ≤ n ⇒ y= [y1, … yn]T: Ay = b 2 h 2 h 2 + h q1 − 1 + p1 2 0 0 − h r1 + 1 + 2 p1 α h h − 1 − p2 2 + h q2 − 1 + p2 2 2 − h r2 2 2 2 0 b= − h r3 A= 0 h − 1 + pn −1 − h 2 rn −1 2 h 0 0 − 1 − p n 2 + h q n 2 2 h 2 − h rn + 1 − 2 pn β
- LẬP BẢNG LẮP GHÉP ------------------------------------------------------------------------------------------------------------------------------------- y" = p ( x) y '+ q ( x) y + r ( x), a ≤ x ≤ b ( *) BT biên tuyến tính y( a ) = α , y( b ) = β Chia [a, b] thành các đoạn nhỏ độ dài h. n điểm chia xk (không kể 2 đầu) – ứng với yk chưa biết → n ẩn số yk Lập bảng cột xk → pk = p(xk), qk = q(xk), rk = r(xk) → akk (đ/chéo chính), ak,k+1 (chéo trên), ak-1,k (dưới), bk → Nghiệm yk Đ/chéo akk: k = 1 → n; ak,k+1: k = 1 → (n – 1), ak-1,k: k = 2 → n i xk pk qk rk akk ak,k+1 ak-1,k bk yk 1 2 3
- VÍ DỤ ------------------------------------------------------------------------------------------------------------------------------------- Giải bài toán biên cấp 2 sau bằng phương pháp sai phân hữu hạn với bước chia h = 0.2 y" = −3 y '+2 y + 2 x + 3 y (0) = 2, y (1) = 1 h = 0.2 ⇒ n = 5 ⇒ 6 điểm chia ⇒ Hệ phương trình 4 ẩn Ma trận cấp 4: Chéo chính akk – 4 phần tử; Chéo trên ak, k+1: 3 i xi pi qi ri aii ai,i+1 ai-1,i bi 1 0.2 −3 2 3.4 − 2.08 1.3 − 1.264 2 0.4 −3 2 3.8 − 2.08 1.3 0.7 0.152 3 0.6 −3 2 4.2 − 2.08 1.3 0.7 0.168 4 0.8 −3 2 4.6 − 2.08 0.7 − 1.116
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Phương pháp tính: Chương 3 - TS. Nguyễn Quốc Lân
26 p | 589 | 143
-
Bài giảng Phương pháp tính: Chương 1 - TS. Nguyễn Quốc Lân
20 p | 652 | 119
-
Bài giảng Phương pháp tính: Chương 2 - TS. Nguyễn Quốc Lân
31 p | 344 | 65
-
Bài giảng Phương pháp tính: Chương 6 - TS. Nguyễn Quốc Lân
11 p | 275 | 59
-
Bài giảng Phương pháp tính: Chương 1 - Ngô Thu Lương
20 p | 219 | 29
-
Bài giảng Phương pháp tính: Chương 3 – Trịnh Quốc Lương
43 p | 131 | 18
-
Bài giảng Phương pháp tính: Chương 2 – Trịnh Quốc Lương
47 p | 138 | 17
-
Bài giảng Phương pháp tính: Chương 2 - Ngô Thu Lương
25 p | 204 | 16
-
Bài giảng Phương pháp tính - Chương 3: Hệ phương trình tuyến tính
43 p | 215 | 13
-
Bài giảng Phương pháp tính: Chương 6 – Trịnh Quốc Lương
36 p | 83 | 10
-
Bài giảng Phương pháp tính: Chương 2 - Hà Thị Ngọc Yến
7 p | 49 | 7
-
Bài giảng Phương pháp tính - Chương 2: Giải gần đúng phương trình phi tuyến
47 p | 117 | 7
-
Bài giảng Phương pháp tính: Chương 6 - Hà Thị Ngọc Yến
10 p | 51 | 5
-
Bài giảng Phương pháp tính: Chương 7 - Hà Thị Ngọc Yến
13 p | 54 | 5
-
Bài giảng Phương pháp tính: Chương 10 - Hà Thị Ngọc Yến
9 p | 29 | 4
-
Bài giảng Phương pháp tính: Chương 11 - Hà Thị Ngọc Yến
9 p | 37 | 4
-
Bài giảng Phương pháp tính: Chương 12 - Hà Thị Ngọc Yến
17 p | 35 | 3
-
Bài giảng Phương pháp tính - Chương 5: Giải gần đúng phương trình vi phân
9 p | 54 | 2
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn