Bài giảng phương pháp tính chương 5 giải phương trình vi phân thường TS nguyễn quốc lân

21 4.1K 4
Bài giảng phương pháp tính chương 5 giải phương trình vi phân thường   TS  nguyễn quốc lân

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

BỘ MƠN TỐN ỨNG DỤNG - ĐHBK - PHƯƠNG PHÁP TÍNH – SV CHƯƠNG 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 TỐN CƠSI (GIÁ TRỊ ĐẦU) – PHƯƠNG PHÁP EULER – EULER CẢI TIẾN + RUNGE – KUTTA – HỆ PHƯƠNG TRÌNH VI PHÂN THƯỜNG – 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 TỐ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 nhau, độ dài h = (b – a)/n, (n + 1) điểm chia t0 = a < t1 = a + h < … < tn = b y1 = ? y0 = α h a a = t0 t1 b t2 b = tn Cần tính gần giá trị wk ≈ yk = y(tk), k = → n MINH HOẠ Ý TƯỞNG  y ' = −5 y + 5t + 2t , ≤ t Bài tốn Cơsi:  Với bước chia h = 0.5  y (0) = f ( x0 + h) − f ( x0 ) & công thức xấp xỉ đạo hàm điểm: f ' ( x0 ) ≈ h tính xấp xỉ nghiệm y t = 0.5, t = Từ xây dựng đa thức nội suy Lagrange (spline) ygđ vẽ đồ −5 t t + e thị so sánh với nghiệm xác g(t) = Điểm chia: t0 = Kết tìm được: t1 = 0.5 y ( 0.5) = −0.5 y (1.0 ) = 1.875 t = ygñ.Lagrange = at + bt + c ⇒ ygñ = 6.42t − 4.87t + 0.33 CÁC SƠ ĐỒ GIẢI XẤP XỈ PTRÌNH VPHÂN THƯỜNG - Btốn Cơsi: Tìm y(t)  y ' = f (t , y ), t ∈ [ a, b]   y (a ) = α Chia [a, b] → n đoạn b−a h= , ti = a + ih n Tính wi, i = → n Sơ đồ Runge – Kutta: w0 = α Giả sử biết wi ⇒ Sơ đồ Euler (i = → n – 1) w0 = α Giả sử wi biết ⇒ wi +1 = wi + hf (ti , wi ) S/đ Euler cải tiến (i = → n – 1) w0 = α Giả sử wi biết ⇒ k1 = hf (ti , wi ), k = hf (ti + h, wi + k1 ) wi +1 = wi + (k1 + k ) k1 = hf (ti , wi ), k = hf (ti + h , wi + k1 2)  k3 = hf (ti + h , wi + k 2), k = hf (ti +1 , wi + k3 )  w = w + ( k + 2k + 2k + k )  i +1 i VÍ DỤ PHƯƠNG PHÁP EULER Bằng p/pháp Euler, giải tốn Cơsi với n = đoạn chia:  y ' = y − t + 1, ≤ t ≤   y (0) = 0.5 So sánh nghiệm xấp xỉ với nghiệm g(t) = (t+1)2 – 0.5et Từ tính xấp xỉ tích phân c/t hình thang: I = ∫ y (t )dt Giải: f(t,y) = y – t2 + h = (b–a)/n = 1/3 Sơ đồ Euler: t0 = 0, w0 = 0.5 t1 , w1 t , w2 w0 = 0.5  wi +1 = wi + hf (ti , wi ) = wi + 0.2( wi − ti2 + 1)  t3 , w3 KẾT QUẢ PHƯƠNG PHÁP EULER - Bảng kết quả: i ti wi gi = g(ti ) | gi - wi | 0 0.5 0.5 1/3 2/3 Tính gần tích phân với cơng thức hình thang h [ y( t0 ) + y( t1 ) + y( t2 ) + y( t3 ) ] ≈ h [ w0 + 2w1 + 2w2 + w3 ] 2 = 1.3528807 ∫ y(t )dt ≈ VÍ DỤ EULER CẢI TIẾN Tính y(1.) bt Côsi sau  y ' = y − t + 1, ≤ t ≤  SĐ Euler cải tiến với h = 0.5:  y (0) = 0.5 f (t , y ) = y − t + , h = 0.5 t0 = 0, α = 0.5 t1 = 0.5, w1 = ? t , w2 k1 + k k1 = hf (ti , wi ) , k = hf (ti + h, wi + k1 ) → wi +1 = wi + i ti wi k1 0.0 0.5 0.75 0.5 1.375 1.0625 1.0 2.515625 k2 1.0 1.21875 VÍ DỤ RUNGE – KUTTA Tính y(1.) Runge – Kutta với h = 0.5  y' = y − t +   y (0) = 0.5 h k  k1 = hf (ti , wi ) , k = hf (ti + , wi + ) Runge –  2  Kutta 4: k3 = hf (ti + h , wi + k 2) , k = hf (ti + h, wi + k3 )  wi → wi+1 wi +1 = wi + k1 + 2k + 2k3 + k  i ti 0.0 wi k1 k2 0.5 0.75 0.90625 k3 k4 0.9451325 1.0976563 0.5 1.4251302 1.0875651 1.2032064 1.2331167 1.3286235 1.0 2.6396027 HỆ PHƯƠNG TRÌNH VI PHÂN THƯỜNG Bài tốn Cơsi : Tìm hai hàm u1 = u1(t), u2 = u2(t) thoả  du1 = f (t , u , u ), a ≤ t ≤ b 1  dt u1 (a ) = α1 & Điều kiện đầu   u2 (a ) = α  du2 = f (t , u1 , u2 ), a ≤ t ≤ b  dt Chia [a, b] thành đoạn nhau: Phân hoạch & rời rạc hoá w10 = α1 , w2 = α w1 , w1 α1 , α a = t0 u1 ( t1 ) , u2 ( t1 ) = ? t1 = a + h w12 , w2 = ? t = a + 2h i i 0 i i Ký hiệu: w1 ≈ u1 (ti ), w2 ≈ u2 (ti ), i ≥ ⇒ Biết w1 , w tính w1 , w ? MINH HOẠ Ý TƯỞNG Xét tốn Cơsi với hệ phương trình vi phân thường: u1 ' = 3u1 + 2u2 − ( 2t + 1) e 2t , u1 ( ) =  u2 ' = 4u1 + u2 + ( t + 2t − ) e 2t , u2 ( ) =  Với bước chia h = 0.5, tính xấp xỉ nghiệm u1, u2 t = 0.5; So sánh giá trị tính với giá trị nghiệm xác: 5t −t 5t −t 2 t 2t u1 ( t ) = e − e + e ; u2 ( t ) = e + e + t e 3 3 Điểm chia: t0 = u1 ( ) = t1 = 0.5 u1 ( 0.5) = ? u2 ( ) = u2 ( 0.5) = ? t = u1 (1) = ? u2 (1) = ? t u1 u2 1 0.5 1.0 SƠ ĐỒ EULER Bài tốn Cơsi : Tìm hai hàm u1 = u1(t), u2 = u2(t) thoả  du1 = f (t , u , u ), a ≤ t ≤ b 1  dt u1 (a ) = α1 & Điều kiện đầu   u2 (a ) = α  du2 = f (t , u1 , u2 ), a ≤ t ≤ b  dt S/đồ Euler: 0 i w1 = α1 , w2 = α Giả sử biết w1i , w2 ( i = → n − 1) i w1i +1 = w1i + hf1 ( ti , w1i , w2 ) , i i i w2+1 = w2 + hf ( ti , w1i , w2 ) u1 ' = 3u1 + 2u2 − ( 2t + 1) e , u1 ( ) =           f1 ( t ,u1 ,u )  VD:  u2 ' = 4u1 + u2 + ( t + 2t − ) e 2t , u2 ( ) =             f ( t ,u1 ,u )  2t α1 = w10 =  ⇒ ⇒ α = w2 = 1 w1 = + 0.5 f1 ( 0,1,1) = w1 = + 0.5 f ( 0,1,1) = ÁP DỤNG : PHƯƠNG TRÌNH VI PHÂN CẤP Bài tốn Cơsi cấp (Ph/trình vi phân cấp đkiện đầu):  y" = f ( t , y, y ') , t ≥ a   y ( a ) = α1 , y ' ( a ) = α Đưa tố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 ( t , u1 , u2 ) w10 = α1 u1 ( a ) = y ( a ) = α1 ⇒ Điều kiện đầu:  u2 ( a ) = y ' ( a ) = α w2 = α w1 = w10 + hf1 ( t0 , w10 , w2 ) = α1 + hα Sơ đồ Euler:  0 w2 = w2 + hf ( t0 , w10 , w2 ) = α + hf ( a, α1 , α )  VÍ DỤ Với h = 0.1, tính xấp xỉ giá trị y(0.2), y’(0.2) nghiệm toán sau phương pháp Euler:  y"−2 y '+2 y = e 2t sin t , t ≥   y (0) = −0.4, y ' (0) = −0.6 Đổi biến đưa tốn Cơsi cấp 1: u1 = y(t), u2 = y’(t) ⇒ u1 ' = u2 = f1 ( t , u1 , u2 ) & u1 ( ) = −0.4 , u2 ( ) = −0.6  u2 ' = −2 y + y '+ e 2t sin t = −2u1 + 2u2 + e 2t sin t = f ( t , u1 , u2 )  w1 = w10 + hf1 ( t0 , w10 , w2 ) = −0.4 + 0.1 f1 ( 0,−0.4,−0.6 ) w10 = −0.4 ⇒  0 w2 = −0.6 w2 = w2 + hf ( t0 , w10 , w2 ) = −0.6 + 0.1 f ( 0,−0.4,−0.6 )   BÀI TOÁN BIÊN Bài tố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 tốn biên tuyến tính cấp  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 tốn biên tuyến tính cấp  y ' ' = −( x + 1) y '+2 y + (1 − x ) e − x , ≤ x ≤   y ( ) = −1, y (1) = điểm chia cách [0, 1] với bước chia h = 1/3 xấp xỉ đạo hàm y’, y’’ công thức hướng tâm Điểm chia: x0 = y ( ) = y0 = −1 x1 = 1 = y = ? y  3  x2 = x3 = 2 = y = ? y  3  y (1) = y3 = PHƯƠNG PHÁP SAI PHÂN HỮU HẠN - BT biên tuyến tính  y" = p ( x) y '+ q ( x) y + r ( x), a ≤ x ≤ b ( *)   y( a ) = α , y( b) = β Chia [a, b] thành đoạn nhỏ 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 ' ( x1 ) ≈ 2h y ' ( x2 ) y ( x3 ) − y ( x1 ) ≈ 2h h a= x0 x1 y ( x2 ) − y ( x1 ) + y ( x0 ) y" ( x1 ) ≈ h2 x2 x3 b= xn+1 y ( x3 ) − y ( x2 ) + y ( x1 ) y" ( x2 ) ≈ 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), ≤ k ≤ n ⇒ y= [y1, … yn]T: Ay = b h   h     2 + h q1 − + p1  0  − h r1 +  + p1 α         h h   − h r2  − − p2 + h q2 − + p2        2 − h r3    b=  A=          h       − + pn −1    − h rn −1      h   h     − − p n + h q n   − h rn +  − pn  β          LẬP BẢNG LẮP GHÉP - BT biên tuyến tính  y" = p ( x) y '+ q ( x) y + r ( x), a ≤ x ≤ b ( *)   y( a ) = α , y( b ) = β  Chia [a, b] thành đoạn nhỏ độ dài h n điểm chia xk (không kể đầ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 = → n; ak,k+1: k = → (n – 1), ak-1,k: k = → n i xk pk qk rk akk ak,k+1 ak-1,k bk yk VÍ DỤ - Giải toán biên cấp sau phương pháp sai phân hữu hạn với bước chia h = 0.2  y" = −3 y '+2 y + x +   y (0) = 2, y (1) = h = 0.2 ⇒ n = ⇒ điểm chia ⇒ Hệ phương trình ẩn Ma trận cấp 4: Chéo akk – phần tử; Chéo ak, k+1: i xi 0.2 0.4 0.6 0.8 pi qi ri aii ai,i+1 −3 −3 −3 −3 2 2 3.4 3.8 4.2 4.6 − 2.08 − 2.08 − 2.08 − 2.08 1.3 1.3 1.3 ai-1,i bi 0.7 0.7 0.7 − 1.264 0.152 0.168 − 1.116 KẾT QUẢ - Giải hệ phép khử Gauss (làm tròn chữ số lẻ): 0  2.08 − 1.3 − 0.7 2.08 − 1.3  [ A b] = − 0.7 2.08 − 1.3   0 − 0.7 2.08  0  − 0.625  1.642 − 1.3  → [ A b] = − 0.7 2.08 − 1.3   0 − 0.7 2.08  0.608  0.273   − 0.168 1.116   1.264  − 0.152  − 0.168 1.116   1.006  0.636  ⇒ y= 0.593 0.736   ... - A- BÀI TỐN CƠSI (GIÁ TRỊ ĐẦU) – PHƯƠNG PHÁP EULER – EULER CẢI TIẾN + RUNGE – KUTTA – HỆ PHƯƠNG TRÌNH VI PHÂN THƯỜNG – 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... 2k3 + k  i ti 0.0 wi k1 k2 0 .5 0. 75 0.906 25 k3 k4 0.9 451 3 25 1.097 656 3 0 .5 1.4 251 302 1.08 756 51 1.2032064 1.2331167 1.32862 35 1.0 2.6396027 HỆ PHƯƠNG TRÌNH VI PHÂN THƯỜNG ... 0 .5 f (t , y ) = y − t + , h = 0 .5 t0 = 0, α = 0 .5 t1 = 0 .5, w1 = ? t , w2 k1 + k k1 = hf (ti , wi ) , k = hf (ti + h, wi + k1 ) → wi +1 = wi + i ti wi k1 0.0 0 .5 0. 75 0 .5 1.3 75 1.06 25 1.0 2 .51 5625

Ngày đăng: 04/07/2014, 14:46

Từ khóa liên quan

Mục lục

  • BỘ MÔN TOÁN ỨNG DỤNG - ĐHBK -------------------------------------------------------------------------------------

  • NỘI DUNG ---------------------------------------------------------------------------------------------------------------------------

  • BÀI TOÁN CÔSI ---------------------------------------------------------------------------------------------------------------------------

  • MINH HOẠ Ý TƯỞNG ----------------------------------------------------------------------------------------------------------------------------------------

  • CÁC SƠ ĐỒ GIẢI XẤP XỈ PTRÌNH VPHÂN THƯỜNG -------------------------------------------------------------------------------------------------------------------------------

  • VÍ DỤ PHƯƠNG PHÁP EULER --------------------------------------------------------------------------------------------------------------------------------

  • KẾT QUẢ PHƯƠNG PHÁP EULER -----------------------------------------------------------------------------------------------------------------------------

  • VÍ DỤ EULER CẢI TIẾN --------------------------------------------------------------------------------------------------------------------------------

  • VÍ DỤ RUNGE – KUTTA --------------------------------------------------------------------------------------------------------------------------------

  • HỆ PHƯƠNG TRÌNH VI PHÂN THƯỜNG ----------------------------------------------------------------------------------------------------------------------------------

  • Slide 11

  • SƠ ĐỒ EULER ----------------------------------------------------------------------------------------------------------------------------------

  • ÁP DỤNG : PHƯƠNG TRÌNH VI PHÂN CẤP 2 ----------------------------------------------------------------------------------------------------------------------------------

  • VÍ DỤ ----------------------------------------------------------------------------------------------------------------------------------

  • BÀI TOÁN BIÊN --------------------------------------------------------------------------------------------------------------------------

  • MINH HOẠ ----------------------------------------------------------------------------------------------------------------------------------

  • PHƯƠNG PHÁP SAI PHÂN HỮU HẠN ---------------------------------------------------------------------------------------------------------------------------------------

  • CÔNG THỨC LẮP GHÉP -------------------------------------------------------------------------------------------------------------------------------------

  • LẬP BẢNG LẮP GHÉP -------------------------------------------------------------------------------------------------------------------------------------

  • VÍ DỤ -------------------------------------------------------------------------------------------------------------------------------------

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan