chương 1 trình bày các lý thuyết cơ bản về không gian metric, nguyên lý ánh xạ co và cơ sở của các phương pháp sai phân, xấp xỉ đạo hàm dựa trên khai triển Taylo tổng quát. Các kết quả này chính là cơ sở để nghiên cứu các nội dung trong các chương tiếp theo của luận văn. LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 16 Chương 2 Phương pháp số giải phương trình vi phân phi tuyến cấp cao và hệ phương trình vi phân với hệ điều kiện đầu Nội dung chương 2 trình bày cơ sở lý thuyết để xây dựng các lược đồ tính toán tìm nghiệm số cho phương trình và hệ phương trình vi phân. Các kết quả lý thuyết được tham khảo trong các tài liệu [1, 8, 9, 10].1 Cơ sở lý thuyết về phương pháp Runge-Kutta Xét bài toán Cauchy, hay còn gọi là bài toán giá trị ban đầu: Tìm y(x) thỏa mãn điều kiện: 0 y = f (x, y), x0 ≤ x ≤ x (2.
Ta quan tâm đến phương pháp tìm nghiệm bằng số của (2.1) tại điểm x1 = x0 + h với bước h > 0. Hai nhà toán học người Đức là Runge và Kutta đề xuất một phương pháp tìm nghiệm y1 , chỉ phải tính một hàm f (x, y) tại một số điểm khác nhau: Đặt y1 = y0 + ∆y0 , trong đó ∆y0 = pr1 k1 (h) +. + βi,i−1 ki−1 (h) , Gọi ϕr (h) := y (x0 + h) − y1 = y (x0 + h) − y (x0 ) − ∆y0 là sai số (địa LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 17 (s+1) phương) của phương pháp Runge-Kutta. Nếu ϕr (0) 6= 0 thì: r (i) X ϕr (0) hi + O hs+1 ϕr (h) = i=0 i! Runge-Kutta chọn các hệ số αi , βij , prj.
từ điều kiện: (i) (s+1) ϕr (0) = 0, (i = 0, s); ϕhr (0) 6= 0 với s càng lớnicàng tốt.2) i = 0, s, Xuất phát từ phương pháp Runge-Kutta tổng quát, chúng ta thu được một số phương pháp cụ thể như sau: 2.1 Phương pháp Euler 1 Xét trường hợp riêng của phương pháp Runge-Kutta khi r = 1. 0 00 00 Để ϕ1 (0) = 0 với mọi hàm f , ta phải có p11 = 1. Ta nhận được công thức Euler: y1 = y0 + hf (x0 , y0 ) .3) Nói chung chúng ta có công thức tổng quát yk+1 = yk + hf (xk , yk ) , xk = x0 + kh. Sai số địa phương của phương pháp: 00 00 ϕ (ξ) 2 y (ξ) 2 R1 (h) = 1 h = O h2.
h = 2! 2 Để nhận được công thức sai số toàn phần, ta giả thiết f (x, y) liên tục LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 18 Lipschitz theo biến y với hằng số Lipschitz L > 0, ngoài ra vi phân toàn phần df ≤ M. Cho xn cố định trong khi bước h thay đổi. Gọi y(x) là nghiệm dx đúng của bài toán Cauchy (2. Có thể thấy rằng phương pháp Euler 1 có độ chính xác O(h).2 Phương pháp Euler 2 Trong phương pháp Runge-Kutta, ta xét trường hợp r = 2.
∆y0 = p21 k1 (h) + p22 k2 (h) , Phương trình (2. ∂x ∂y ∂f0 ∂f0 ∂f ∂f Ở đây chúng ta dùng kí hiệu f0 := f (x0 , y0 ) ; ; là đạo hàm ; ∂x ∂y ∂x ∂y tương ứng tính tại điểm (x0 , y0 ). Từ hệ thức (2.4), ta suy ra: 0 y0 = f0 = p21 f0 + p22 f0 , 00 ∂f0 ∂f0 ∂f0 ∂f0 (2. ∂x ∂y ∂x ∂y Từ phương trình ban đầu suy ra: p21 + p22 = 1.
LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 19 Biến đổi phương trình thứ hai của hệ, ta được: ∂f0 ∂f0 (1 − 2α2 p22 ) + (1 − 2p22 β21 ) f0 = 0.6) ∂x ∂y Vì công thức Runge-Kutta (ứng với r = 2) đúng cho mọi hàm f nên để (2.6) nghiệm đúng, cần 1 − 2α2 p22 = 1 − 2p22 β21 = 0. 1 1 Như vậy: α2 = β21 = 1; p21 = p22 = và ∆y0 = h {f (x0 , y0 ) + f (x0 + h, y0 + hf (x 2 2 Ta nhận được công thức gọi là công thức Euler 2 sau: y0 := y0 + hf (x0 , y0 ) , 1 (2. 2 Có thể thấy rằng phương pháp Euler 2 có độ chính xác O(h2 ).3 Thuật toán RK4 4 P Khi r = 4, ϕ4 (h) = y (x0 + h) − y (x0 ) − p4i ki (h). i=1 i=1 4 P Từ đây suy ra: p4i = 1.
Kết quả là có 11 phương trình đối với 13 ẩn: α2 , α3 , α4 , β21 , β31 , β32 , β41 , β42 , β43 , p4i ; i = 1, 4. Như vậy sẽ có một họ các công thức RK4. Công thức thông dụng nhất có dạng: 1 ∆y0 = [k1 + 2k2 + 2k3 + k4 ], 6 k1 = hf (x0 , y0 ), h k1 k2 = hf (x0 + , y0 + ), 2 2 (2.8) h k2 k3 = hf (x0 + , y0 + ), 2 2 k4 = hf (x0 + h, y0 + k3 ), LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 20 (5) 5 ϕ4 (ξ) Có thể chứng minh rằng R4 (h) = h là sai số địa phương của RK4.2 Phương pháp Runge-Kutta đối với hệ phương trình vi phân phi tuyến Xét hệ phương trình vi phân cấp 1 dx1 = f1 (t, x1 , x2 , ., xm ), dt dx2 dt = f2 (t, x1 , x2 ,. dt Nghiệm của hệ cần thỏa mãn hệ điều kiện đầu: x1 (0) = x10 , .9) tương với phương trình vi phân cấp 1 dạng vecto dU = F (t, U ); U (t = 0) = U0 .10) dt Sử dụng kết quả của phương pháp Runge Kutta với độ chính xác bậc 4, chúng ta có thể xây dựng lược đồ giải số hệ phương trình vi phân cấp bằng sơ đồ dạng vecto như sau: Sơ đồ QH_m 1 Uk+1 = Uk − [K1 + 2K2 + 2K3 + K4 ], 6 h K1 K1 = hF (tk , Uk ), K2 = hF (tk + , Uk + ), (2.
2 2 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 21 Có thể chứng minh rằng lược đồ (2.11) cũng có độ chính xác bậc 4.3 Phương pháp Runge-Kutta đối với phương trình vi phân cấp cao Xuất phát từ các kết quả truyền thống đối với phương trình vi phân cấp 1, sau đây chúng ta sẽ đưa ra các kết quả khi mở rộng các phương pháp cho phương trình vi phân dạng tổng quát cấp n. Xét bài toán biên u(n) = f (x, u, u0 ,. Việc xây dựng phương pháp sai phân trực tiếp cho phương trình vi phân cấp cao là khó khăn vì vấn đề xác định các công thức sai phân cho các đạo hàm cấp cao là khó, tuy nhiên chúng ta có thể sử dụng các phép biến đổi dạng vecto để đưa về dạng phương trình vi phân cấp 1 như sau: Đặt 0 u u u0a u0 u00 u 1a U = ; F (x, U ) = ; Ua = ., u(n−1) ) un−1,a Khi đó bài toán (2.12) là tương đương với bài toán sau đây: U 0 = F (x, U ), x ∈ [a, b], U (a) = Ua Sử dụng sơ đồ tính toán tương tự như phương pháp Runge-Kutta, ta có sơ đồ sai phân một cách hình thức như sau: Sơ đồ QH_m 1 Uk+1 = Uk − [K1 + 2K2 + 2K3 + K4 ], 6 h K1 K1 = hF (xk , Uk ), K2 = hF (xk + , Uk + ), (2. 2 2 Các kí hiệu U, K1 , K2 , K3 , K4 , F, Ua đều là các vecto n chiều Chú ý rằng khác với lược đồ (2.14) thì nghiệm xấp LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 22 xỉ của phương trình vi phân cấp cao nhận được chính là tọa độ đầu tiên của vectơ U.
Tương tự như lược đồ (2.14) cũng có độ chính xác là bậc 4. Sau đây là một số kết quả xây dựng lược đồ sai phân cho phương trình cấp cao. Bài toán cấp 2 u00 = f (x, u, u0 ), x ∈ [a, b], u(a) = u0,a , u0 (a) = u1,a. ki v u1a Sơ đồ QH_2 ! ! ! ! ! uk 1 p1 2 p2 2 p3 1 p4 ∆ = + + + , vk 6 k1 6 k3 6 k3 6 k4 ! ! p1 vk =h , k1 f (xk , uk , vk ) ! k1 p2 vk + = 2 k1 , k2 h p1 f (xk + , uk + , vk + ) 2 2 2 ! k2 p3 vk + = 2 , k3 h p 2 k2 f (xk + , uk + , vk + ) ! 2 2 2! p4 vk + k3 =.
ri u u0a Ki = pi , v = u0 , w = u00 , U = v , U0 = u1a , i = 1, 2, 3, 4. ki w u2a LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 23 Sơ đồ QH_3 uk r1 r2 r3 r4 1 2 2 1 ∆ v k = p1 + p2 + p3 + p4 , 6 6 6 6 wk k1 k 3 k3 k4 r1 vk p1 = h wk , k1 f (xk , uk , vk , wk ) p 1 vk + r2 2 k 1 p = w + , 2 k 2 k2 h r1 p1 k1 f (xk + , uk + , vk + , wk + ) 2 2 2 2 k 2 vk + r3 2 k 2 p3 = w + , k 2 k3 h r2 p2 k2 f (xk + , uk + , vk + , wk + ) 2 2 2 2 r4 vk + p3 p4 = wk + k3 . k4 f (xk + h, uk + r3 , vk + p3 , wk + k3 Hoàn toàn tương tự, chúng ta có thể xây dựng các sơ đồ QH_4, QH_5, QH_6,. tìm nghiệm số cho các phương trình vi phân cấp 4, 5, 6,.