BÀI TOÁN GIÁ TRỊ BAN ĐẦU CHO PHƯƠNG TRÌNH VI PHÂN THƯỜNG

81 456 0
BÀI TOÁN GIÁ TRỊ BAN ĐẦU CHO PHƯƠNG TRÌNH VI PHÂN THƯỜNG

Đ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

Trong bài tiểu luận này, ta sẽ xem xét một số phương pháp để tìm nghiệm xấp xỉ của phươngtrình vi phân thường thỏa điều kiện ban đầu có dạng như sau:dydt = f(t, y), a ≤ t ≤ b, y(a) = α.Các phương pháp số sẽ được chia làm hai loại chính, đó là các phương pháp một bước nhưphương pháp Euler, Taylor bậc cao, phương pháp trung điểm, Euler hiệu chỉnh, Heun, RungeKutta,RungeKuttaFehlberg và các phương pháp đa bước như phương pháp hiện AdamsBashforth,phương pháp ẩn AdamsMoulton, phương pháp dự đoán sửa lỗi, phương phápngoại suy.Trước khi tìm nghiệm xấp xỉ của bài toán giá trị ban đầu, ta cần xem xét một số định lý cơsở về sự tồn tại duy nhất nghiệm của bài toán, sự hội tụ về nghiệm chính xác của dãy nghiệmxấp xỉ..., tất cả sẽ được trình bày ở phần đầu của bài viết. Tiếp theo là nội dung về các phươngpháp xấp xỉ, mỗi phương pháp được trình bày trong bài viết sẽ gồm có cơ sơ lý luận, cách xâydựng thuật toán, ví dụ minh họa, thuật toán, kết quả thu được trên Matlab và hiệu chỉnh saisố (nếu có). Phần cuối bài viết sẽ bàn về sự ổn định, một vài nhận xét, đánh giá sự hiệu quảcủa các phương pháp số.

TRƯỜNG ĐẠI HỌC SƯ PHẠM TPHCM KHOA TOÁN - TIN HỌC ——————– *** ——————— TIỂU LUẬN CUỐI KỲ MÔN PHƯƠNG PHÁP TÍNH ĐỀ TÀI: BÀI TỐN GIÁ TRỊ BAN ĐẦU CHO PHƯƠNG TRÌNH VI PHÂN THƯỜNG Giảng viên hướng dẫn : ThS Đào Huy Cường Sinh viên thực hiện: Mã số sinh viên: Lê Thị Anh Thư 41.01.101.115 Lớp: K41 Tốn A Thành phố Hồ Chí Minh Ngày 20 tháng năm 2018 Mục lục Lời mở đầu Bài toán giá trị ban đầu định lý sở Phương pháp Euler 3.1 Cơ sở phương 3.2 Thuật toán 3.3 Ước lượng sai số 3.4 Hiệu chỉnh sai số pháp Euler 7 11 13 Phương pháp Taylor bậc cao 15 4.1 Sai số chặt cụt 15 4.2 Phương pháp Taylor bậc n 17 Phương pháp Runge-Kutta 5.1 Phương pháp Runge-Kutta bậc hai 5.2 Phương pháp trung điểm 5.3 Phương pháp Euler hiệu chỉnh 5.4 Phương pháp Heun 5.5 Phương pháp Runge-Kutta bậc bốn 5.6 So sánh tính tốn 5.7 Kiểm soát sai số phương pháp Runge-Kutta-Fehlberg 21 22 23 23 26 29 32 34 Phương pháp đa bước 6.1 Phương pháp Adams-Bashforth 6.2 Phương pháp ẩn Adams-Moulton 6.3 Phương pháp dự đoán - sửa lỗi 6.4 Kiểm soát sai số phương pháp biến nhảy đa 6.5 Phương pháp ngoại suy 41 46 50 52 57 63 bước Sự ổn định phương pháp 70 7.1 Các phương pháp bước 70 7.2 Các phương pháp đa bước 74 Kết luận 78 Tài liệu tham khảo 81 Lời mở đầu Bài tốn tìm nghiệm phương trình vi phân thỏa điều kiện ban đầu gọi toán giá trị ban đầu cho phương trình vi phân hay tốn Cauchy Trong thực tế, tốn mơ tả hệ thống phụ thuộc vào thời gian lời giải phải thỏa số điều kiện thời điểm ban đầu dụ, khảo sát chuyển động lắc, người ta biểu diễn chuyển động phương trình vi phân bậc hai sau: d2 θ g + sinθ = 0, dt L (1.1) với L độ dài lắc, g số hấp dẫn Tại thời điểm bắt đầu t0 , vị trị lắc θ(t0 ) = θ0 vận tốc θ (t0 ) = θ0 Ta gọi tốn có giá trị ban đầu Với giá trị θ nhỏ, ta có xấp xỉ θ ≈ sinθ, phương trình (1.1) trở thành: g d2 θ + sinθ = 0, dt2 L θ(t0 ) = θ0 , θ (t0 ) = θ0 (1.2) Nhìn chung, việc tìm nghiệm giải tích (nghiệm xác) tốn ban đầu khó khăn, ta cần nghiên cứu phương pháp số để tìm nghiệm xấp xỉ cho toán Trong tiểu luận này, ta xem xét số phương pháp để tìm nghiệm xấp xỉ phương trình vi phân thường thỏa điều kiện ban đầu có dạng sau: dy = f (t, y), dt a ≤ t ≤ b, y(a) = α Các phương pháp số chia làm hai loại chính, phương pháp bước phương pháp Euler, Taylor bậc cao, phương pháp trung điểm, Euler hiệu chỉnh, Heun, RungeKutta, Runge-Kutta-Fehlberg phương pháp đa bước phương pháp AdamsBashforth, phương pháp ẩn Adams-Moulton, phương pháp dự đoán - sửa lỗi, phương pháp ngoại suy Trước tìm nghiệm xấp xỉ toán giá trị ban đầu, ta cần xem xét số định lý sở tồn nghiệm toán, hội tụ nghiệm xác dãy nghiệm xấp xỉ , tất trình bày phần đầu viết Tiếp theo nội dung phương pháp xấp xỉ, phương pháp trình bày viết gồm có sơ lý luận, cách xây dựng thuật tốn, dụ minh họa, thuật toán, kết thu Matlab hiệu chỉnh sai số (nếu có) Phần cuối viết bàn ổn định, vài nhận xét, đánh giá hiệu phương pháp số Em xin gửi lời cảm ơn chân thành đến thầy Đào Huy Cường tận tâm giảng dạy cho em hội làm tiểu luận mơn Phương pháp tính với đề tài thú vị Trong trình làm việc khơng thể tránh thiếu sót, mong nhận nhận xét, góp ý từ thầy bạn đọc Bài toán giá trị ban đầu định lý sở Sau số khái niệm tính chất hàm số thỏa điều kiện Lipschitz Định nghĩa 2.0.1: Hàm số thỏa điều kiện Lipschitz Hàm số f (t, y) gọi thỏa điều kiện Lipschitz theo biến y tập D ⊂ R2 tồn L > cho |f (t, y1 ) − f (t, y2 )| ≤ L|y1 − y2 |, với (t, y1 ), (t, y2 ) thuộc D Hằng số L gọi số Lipschitz f Định nghĩa 2.0.2: Tập lồi Tập D ∈ R2 gọị lồi với (t1 , y1 ), (t2 , y2 ) thuộc D ((1 − λ)t1 + λt2 , (1 − λ)y1 + λy2 ) thuộc D, với λ [0, 1] Định lý 2.0.1: Điều kiện cần để hàm số thỏa điều kiện Lipschitz Giả sử f (t, y) xác định tập lồi D ∈ R2 Nếu tồn L > cho ∂f (t, y) ≤ L, ∀(t, y) ∈ D ∂y f thỏa điều kiện Lipschitz D với biến y, số Lipschitz L Chứng minh Với (t, y1 ), (t, y2 ) thuộc D, ta có |f (t, y1 ) − f (t, y2 )| = ∂f (t, ζ) |y1 − y2 | ≤ L|y1 − y2 |, ∂y với ζ số nằm y1 , y2 Sau khái niệm lạ "Bài toán đặt vấn đề tốt" Định nghĩa 2.0.3: Bài toán đặt vấn đề tốt Bài toán giá trị ban đầu có dạng dy = f (t, y), dt a ≤ t ≤ b, y(a) = α (2.1) gọi Bài toán đặt vấn đề tốt (well-posed problem) thỏa hai điều sau: (i) Tồn nghiệm y(t) (ii) Tồn ε0 > 0, k > cho với ε thỏa ε0 > ε > 0, với δ(t) liên tục với |δ(t)| < ε với t ∈ [a, b], |δ0 | < ε, tốn giá tri ban đầu có dạng dz = f (t, z) + δ(t), dt a ≤ t ≤ b, z(a) = α + δ0 có nghiệm z(t) thỏa mãn |z(t) − y(t)| < kε, ∀t ∈ [a, b] (2.2) Bài toán (2.2) gọi toán nhiễu (2.1) Những nhà toán học quan tâm đến tồn nghiệm tốn tìm cách giải chúng, tốn đặt vấn đề tốt lý tưởng, lẽ khơng tốn có nghiệm nhất, mà toán nhiễu (thường xảy sai số tính tốn) có kết Vậy câu hỏi đặt toán cho toán đặt vấn đề tốt? Định lý 2.0.2: Điều kiện cần để toán dạng (2.1) toán đặt vấn đề tốt Giả sử D = {(t, y)|a ≤ t ≤ b, −∞ < y < +∞} Nếu f liên tục thỏa điều kiện Lipschitz với biến y D tốn có giá trị ban đầu (2.1) toán đặt vấn đề tốt Chứng minh Chứng minh thỏa (i) Từ toán giá trị ban đầu dy = f (t, y), dt a ≤ t ≤ b, y(a) = α Ta viết lại dạng tương đương sau t y(t) − y(a) = y(t) − α = f (s, y(s))ds a Với (t, y) ∈ D −∞ < y < +∞, nên tồn c > cho α − c ≤ y ≤ α + c Ta viết lại D = {(t, y)|a ≤ t ≤ b, α − c ≤ y ≤ α + c} = [a, b] × [α − c, α + c] Toán tử F xác định sau t f (s, y(s))ds F y = z(t) = α + a Dễ có z(t) liên tục f, y hàm liên tục Hơn nữa, Ta lại có t t |z(t) − α| = |f (s, y(s))|ds ≤ M |t − a| ≤ M (b − a) ≤ c ∀t ∈ [a, b] f (s, y(s)ds ≤ a a Với M := sup |f | b thỏa mãn b ≤ D c + a M Suy F : [a, b] × [α − c, α + c] → [a, b] × [α − c, α + c] Ta có t F (y1 ) − F (y2 ) = [f (s, y1 (s)) − f (s, y2 (s))]ds a t ≤ |(f (s, y1 (s)) − f (s, y2 (s))ds| a t ≤ |(f (s, y1 (s)) − f (s, y2 (s))|ds a t ≤ L|y1 (s) − y2 (s)|ds (do f hàm Lipschitz theo biến y D) a ≤ L(t − a) y1 − y2 ≤ L(b − a) y1 − y2 + a, L(b − a) < L t∈[a,b] Do F ánh xạ co khơng gian Banach Theo định lý điểm bất động, tốn tử F tồn điểm bất động D Với y = sup |y(t)| b thỏa mãn b < t Giả sử y ∗ điểm bất động, suy y ∗ = F y ∗ = α + f (s, y ∗ (s))ds, hay y ∗ nghiệm phương a t trình Ngược lại, giả sử y nghiệm phương trình, F y = α + f (s, y(s))ds = a t y (s)ds = y(t) = y, nên y điểm bất động F α+ a Như tốn (2.1) có nghiệm D với b < Nếu đặt c + a, + a M L t y0 (t) = α, yk+1 = α + f (s, yk (s))ds, a Lúc ta có dãy {yk } sau y0 (t) = α, yk+1 (t) = F (yk (t)), ∀k ∈ N ∀t ∈ [a, b] Ta có dãy {yk } hội tụ nghiệm y(t) toán Chứng minh thỏa (ii) Viết lại toán (2.2) t z(t) = α + δ0 + t f (t, s)ds + a δ(s)ds a t = δ0 + y(t) + δ(s)ds a Từ (i) ta có tồn y(t), nên z(t) tồn với δ0 , δ(t) chọn trước thỏa: chọn ε0 > 0, với ε > mà ε0 > ε > 0, chọn δ(t) liên tục cho |δ(t)| < ε với t ∈ [a, b], |δ0 | < ε Khi t |z(t) − y(t)| = δ0 + δ(s)ds a t ≤ |δ0 | + δ(s)ds a t ≤ |δ0 | + |δ(s)|ds a = ε + ε|t − a| ≤ (1 + b − a)ε = kε ∀t ∈ [a, b], k = + b − a > dụ 2.0.1 Xét tốn giá trị ban đầu dy = y − t2 + 1, dt ≤ t ≤ 2, y(0) = 0.5 toán đặt vấn đề tốt D = {(t, y)|0 ≤ t ≤ 2, −∞ < y < +∞} ∂(y − t2 + 1) =1 ∂y (2.3) Theo Định lý 2.0.1 f hàm Lipschitz theo biến y D với số Lipschitz L = Mặt khác, f liên tục D nên theo Định lý 2.1.1 tốn có giá trị ban đầu (2.1) toán đặt vấn đề tốt Minh họa toán nhiễu sau dz = z − t2 + + δ, dt ≤ t ≤ 2, z(0) = 0.5 + δ0 (2.4) với δ, δ0 số Nghiệm toán (2.3) (2.4) y(t) = (t + 1)2 − 0.5et z(t) = (t + 1)2 + (δ + δ0 − 0.5)et − δ, Giả sử ε > Nếu |δ| < ε, |δ0 | < ε |y(t) − z(t)| = |(δ + δ0 )et − δ| ≤ |δ + δ0 |e2 + |δ| ≤ (2e2 + 1)ε = kε, ∀t ∈ [0, 2] * (Trong viết có kí hiệu y với y = y(t) 3.1 dy ) dt Phương pháp Euler Cơ sở phương pháp Euler Phương pháp Euler phương pháp xấp xỉ để giải toán giá trị ban đầu Mặc dù thực tế phương pháp sử dụng, tảng để xây dựng số phương pháp tiên tiến Ta sử dụng thuật toán Euler để tìm nghiệm xấp xỉ tốn giá trị ban đầu đặt vấn đề tốt có dạng sau: dy = f (t, y), dt a ≤ t ≤ b, y(a) = α (1) Việc tìm xấp xỉ liên tục nghiệm xác y(t) khó khăn, thay vào ta tìm xấp xỉ y giá trị cụ thể [a, b] Từ ta tìm nghiệm xấp xỉ điểm khác [a, b] phép nội suy Đầu tiên ta rời rạc miền [a, b] nút ti = a + ih, i = 0, 1, N , với N > bước nhảy h = ti+1 − ti = (b − a)/N Giả sử nghiệm xác y(t) (1) có đạo hàm cấp hai liên tục [a, b] Với i = 0, 1, , N − 1, sử dụng khai triển Taylor y(t) lận cận ti thay t = ti+1 ta thu (ti+1 − ti )2 y (ζi ), y(ti+1 ) = y(ti ) + (ti+1 − ti )y (ti ) + với ζi số nằm ti , ti+1 Thay h = ti+1 − ti ta có y(ti+1 ) = y(ti ) + hy (ti ) + h2 y (ζi ), y thỏa phương trình vi phân tốn (1) nên y(ti+1 ) = y(ti ) + hf (ti , y(ti )) + h2 y (ζi ) Phương pháp Euler xây dựng wi ≈ y(ti ), với i = 1, , N cách bỏ phần dư ta thu dãy nghiệm xấp xỉ xác định sau h2 y (ζi ), Phương pháp Euler w0 = α với i = 0, 1, , N − wi+1 = wi + hf (ti , wi ) Đây Phương trình sai phân liên kết với phương pháp Euler Hình 1: Chia miền [a, b] thành N đoạn h = (b − a)/N Hình 2: w0 = y0 = α, w1 = α + hy (t0 ) = α + hf (t0 , y0 ) = α + hf (t0 , w0 ) Hình 3: Nghiệm xấp xỉ thu phương pháp Euler 3.2 Thuật toán Để xấp xỉ toán giá trị ban đầu y = f (t, y), a ≤ t ≤ b, y(a) = α INPUT: Nhập f (t, y), a, b, số nút N , giá trị ban đầu α OUTPUT: Nghiệm xấp xỉ y(t) giá trị xấp xỉ y(t) bước lặp THUẬT TOÁN B1: Đặt h := (b − a)/N, w = α, i = B2: Kiểm tra i ≤ N − đến B3, ngược lại dừng B3: Đặt w := w + hf (t, w) (tính wi ), đặt t = a + ih (tính ti ), i := i + (tính lần lặp) B4: Xuất nghiệm xấp xỉ w B5: Dừng dụ 3.2.1 Áp dụng phương pháp Euler để tìm nghiệm xấp xỉ tốn y = y − t2 + 1, ≤ t ≤ 2, y(0) = 0.5, TH1: h = 0.5, N = Hình 4: Kết chạy Matlab với h = 0.5 TH2: h = 0.2, N = 10 Hình 5: Kết h = 0.2, N = 10 Hình 6: Sai số tuyệt đối bước h = 0.2 Ta thấy sai số phương pháp Euler lớn, tăng nhẹ theo t Sai số tăng không theo quy luật nên phương pháp Euler không ổn định 10 điểm cuối xấp xỉ thu phương pháp dự báo y31 = (w6 + w5 + h2 f (t0 + 6h2 , w6 ) = 0.8291982979 ta thu xấp xỉ ngoại suy thứ hai y32 = y31 + (1/6)2 (1/2)2 − (1/6)2 (y31 − y21 ) = 0.8292984862, y33 = y32 + (1/6)2 (1/2)2 − (1/6)2 (y32 − y22 ) = 0.8292986199 Kiểm tra |y33 − y22 | = 1.2 × 106 khơng thỏa sai số TOL nên cần tính thêm cột bảng ngoại suy Ta sử dụng h3 = h/8 = 0.025 tính w1 Euler, w2 , w8 phương pháp trung điểm áp dụng phương pháp sửa lỗi cho điểm cuối Ta thu xấp xỉ y41 cho phép ta tính y42 , , y44 sau y41 = 0.8292421745 y42 = 0.8292985873 y43 = 0.8292986210 y44 = 0.8292986211 Kiểm tra |y4 − y3 | = 1.2 × 10−9 ta thấy chưa thỏa sai số yêu cầu TOL nên ta tính tiếp h4 = h/12 = 0.06, tương tự ta tính y55 = 0.8292986213 kiểm tra |y55 − y44 | ≈ × 10−10 thỏa sai số yêu cầu TOL nên y55 = 0.8292986213 = w1 xấp xỉ thỏa mãn y(0.2) Áp dụng thuật toán tương tự ta thu bảng kết sau: 67 Hình 38: Thuật toán Matlab 68 69 Sự ổn định phương pháp 7.1 Các phương pháp bước Định nghĩa 7.1.1: Phương pháp thích hợp Phương pháp bước có sai số chặt cụt địa phương τi (h) bước i gọi thích hợp với phương trình vi phân mà xấp xỉ lim max |τi (h)| = h→0 1≤j≤N Đây sai số cục Với giá trị τi (h) ta giả sử wi−1 xấp xỉ nghiệm xác y(ti−1 ) Định nghĩa có nghĩa với h nhỏ có ảnh hưởng đến sai số cục Đây sai số lớn phương pháp toàn cục phạm vi xấp xỉ, với giả sử giá trị ban đầu cho xác Dịnh nghĩa có nghĩa phương pháp bước thích hợp phương trình sai phân phương pháp tiến đến phương trình vi phân tốn bước nhảy tiến Định nghĩa 7.1.2: Hội tụ Phương trình sai phân phương pháp bước gọi hội tụ đến phương trình vi phân lim max |wi − y(ti )| = h→0 1≤i≤N với wi nghiệm xấp xỉ nghiệm xác y(ti ) bước thứ i dụ 7.1.1 Chứng minh phương pháp Euler hội tụ Giải: Đây phương pháp bước, từ định lý 3.1.1 ta có đánh giá |y(ti ) − wi | ≤ hM L(ti −a) [e − 1] 2L Suy max |y(ti ) − wi | ≤ 1≤i≤N M h L(b−a) |e − 1| 2L Ta có M, L a,b số M h L(b−a) |e − 1| = h→0 2L lim max |y(ti ) − wi | ≤ lim h→0 1≤i≤N Do Euler hội tụ phương trình vi phân với điều kiện đầu tốc độ hội tụ O(h) Nhận xét 7.1.1 Khi bước nhảy tiến sai số chặt cụt địa phương tiến Các kiểu chặn sai số toán tồn sử dụng phương trình sai phân để xấp xỉ nghiệm toán vi phân Trong thực hành, có sai số làm tròn kết mục 3.1, ta thấy điều không đảm bảo hội tụ dãy nghiệm xấp xỉ (trừ toán toán đặt vấn đề tốt) Ta cố gắng tìm phương pháp ổn định tức kết có tính liên tục liệu 70 cho, với thay đổi nhỏ liệu dẫn đến thay đổi nhỏ kết Khái niệm ổn định phương trình sai phân bước giống điều kiện toán đặt vấn đề tốt phương trình vi phân, nên có xuất điều kiện Lipschitz Định lý 7.1.1 Giả sử toán giá trị đầu y = f (t, y), a ≤ t ≤ b, y(a) = α xấp xỉ phương pháp sai phân bước có dạng w0 = α wi+1 = wi + hφ(ti , wi , h) Giả sử tồn h0 > φ(t, w, h) liên tục, thỏa điều kiện Lipschitz với biến w số L tập D = {(t, w, h)|a ≤ t ≤ b, −∞ < w < ∞, ≤ h ≤ h0 } Khi (i) Phương pháp ổn định (ii) Phương pháp sai phân hội tụ thích hợp, tương đương với nghĩa φ(t, y, 0) = f (t, y), ∀a ≤ t ≤ b (iii) Nếu tồn hàm τ với i = 1, 2, , N sai số chặt cụt địa phương τi (h) thỏa |τi (h)| ≤ τ (h) ≤ h ≤ h0 |y(ti ) − wi | ≤ τ (h) L(ti −a) e L Nhận xét 7.1.2 Phần (i) định lý dẫn đến ổn định phương pháp Phần (ii) điều kiện đủ cho phương pháp thích hợp hội tụ Phần (iii) chứng minh nhận xét phần kiểm sốt sai số tồn cục phương pháp thơng qua kiểm sốt sai số chặt cụt địa phương chứng tỏ sai số chặt cụt địa phương có tốc độ hội tụ O(hn ), sai số tồn cục có tốc độ hội tụ tương tự Chứng minh (i) ta chứng minh bổ đề sau Bổ đề 7.1 Cho (un )n , (vn )n hai dãy thỏa phương trình sai phân wi+1 = wi + hφ(ti , wi , h), tồn K > cho |ui − vi | ≤ K|u0 − v0 |, 71 ≤ i ≤ N Ta có |ui − vi | = |ui−1 − vi−1 + h(φ(ti , ui , h) − φ(ti , vi , h))| ≤ |ui−1 − vi−1 | + h|φ(ti , ui , h) − φ(ti , vi , h)| ≤ |ui−1 − vi−1 | + hL|ui − vi | (do f hàm Lipschitz theo w) Do với h thỏa hL < ta có |ui − vi | ≤ |ui−1 − vi−1 | − hL Tiếp tục đánh ta |ui − vi | ≤ 1 |ui−1 − vi−1 | ≤ ≤ |u0 − v0 | = K|u0 − v0 | − hL (1 − hL)i với K = 1/(1 − hL)n > Như vậy, thuật toán ổn định Chứng minh (ii) Đặt φ(t, y, 0) = g(t, y) Phương trình z = g(z, t), a ≤ t ≤ b, z0 = y0 = α có g Lipschitz theo z nên có nghiệm Nghiệm wn xấp xỉ y(tn ) thỏa mãn wn+1 = wn + hφ(wn , tn , h) (1) Từ z = g(z, t), theo định lý giá trị trung bình ta có z (tn+1 ) = z (tn ) + hg (z(tn + θh), tn + θh), < θ < (2) Đạo hàm hai vế (1) trừ theo vế cho (2) đặt en = wn − z(tn ) ta en+1 = en + h[φ (wn , tn , h) − φ (z(tn ), tn , h) + φ (z(tn ), tn , h) − φ (z(tn ), tn , 0) + φ (z(tn ), tn , 0) − g (z(tn + θh), tn + θh)] Suy |en+1 | ≤ |en | + h[|φ (wn , tn , h) − φ (z(tn ), tn , h)| + |φ (z(tn ), tn , h) − φ (z(tn ), tn , 0)| + |φ (z(tn ), tn , 0) − g (z(tn + θh), tn + θh)|] |en | + h[L|yn − z(tn )| + L1 h + L2 h] = (1 + hL)|en | + h2 (L1 + L2 ) φ hàm thỏa điều kiện Lipschitz |φ (z(tn ), tn , 0) − g (z(tn + θh), tn + θh)| = |g (z(tn ), tn ) − g (z(tn + θh), tn + θh)| ≤ |g (z(tn ), tn ) − g (z(tn ), tn + θh)| + |g (z(tn ), tn + θh) − g (z(tn + θh), tn + θh)| ≤ L|z (tn + cθh)|θh + L3 θh ≤ L2 h 72 Như |ei | ≤ (L1 + L2 )h eL(ti −a) − eL(ti −a) − + eL(ti −a) |e0 | = (L1 + L2 )h L L e0 = 0, h → |ei | = |wi − z(ti )| → hay w → z(t) Khi dãy nghiệm xấp xỉ hội tụ w → y(t), suy y = z, f = g Nếu f = g z = g(z, t) = f (z, t), y nghiệm phương trình Mà g có nghiệm nên y = z Như h → |ei | = |wi − z(ti )| = |wi − y(ti )| → hay w → y(t) Chứng minh (iii) Ta có |y(ti ) − wi | = |y(ti ) − y(ti−1 ) − hφ(ti , y(ti−1 ), h) + hφ(ti , y(ti−1 ), h) + y(ti−1 ) − wi−1 − hφ(ti , wi−1 , h)| ≤ h|τi (h)| + |y(ti−1 ) − wi−1 | + h|φ(ti , y(ti−1 ), h) − φ(ti , wi−1 , h)| ≤ hτ (h) + (1 + hL)|y(ti−1 ) − wi−1 | Suy |y(ti ) − wi | ≤ eihL |y(t0 ) − w0 | + = [e(ti −a)L − 1] hτ (h) hL − hτ (h) hL τ (h) L Phương pháp Euler hiệu chỉnh w0 = α h wi+1 = wi + [f (ti , wi ) + f (ti+1 , wi + hf (ti , wi ))] i = 0, 1, N − Giải: h [f (t, w) + f (t, w + hf (t, w)) f hàm Lipschitz theo w với số L nên φ(t, w, h) = |φ(t, w1 , h) − φ(t, w2 , h)| = | [(f (t, w1 ) − f (t, w2 )) + (f (t + h, w1 + hf (t, w1 )) − f (t + h, w2 + hf (t, w2 ))]| 1 ≤ L|w1 − w2 | + hL2 |w1 − w2 | 2 = (L + 0.5hL )|w1 − w2 | = L|w1 − w2 | Do φ hàm Lipschitz biến w {(t, w, h)|a ≤ t ≤ b, −∞ < w < ∞, ≤ h ≤ h)} Tiếp theo xét 1 φ(t, w, 0) = f (t, w) + f (t + 0, w + 0.f (t, w)) = f (t, w) 2 Như thỏa điều kiện thích hợp (ii), thuật tốn hội tụ Hơn sai số chặt cụt địa phương O(h2 ) nên tốc độ hội tụ thuật toán Euler hiệu chỉnh O(h2 ) 73 7.2 Các phương pháp đa bước Khác với phương pháp bước việc tìm nghiệm xấp xỉ wi+1 phụ thuộc trực tiếp vào wi , với phương pháp đa bước ta phải sử dụng hai kết xấp xỉ trước Để giải toán y = f (t, y), a ≤ t ≤ b, y(a) = α xấp xỉ phương pháp đa bước w0 = α, wa = α1 , , wm−1 = αm−1 wi+1 = am−1 wi + + a0 wi+1−m + hF (ti , h, wi+1 , , wi+1−m ), (11.2.1) với i = m − 1, , N − a0 , , am+1 số, h = (b − a)/N, ti = a + ih Sai số chặt cụt địa phương phương pháp đa bước τi+1 (h) = y(ti+1 − am−1 y(ti ) − − a0 y(ti+1−m ) − F (ti , h, wi+1 , , wi+1−m ) h với i = m − 1, , N − Nhận xét 7.2.1 Nếu f = F = F thỏa điều kiện Lipschitz tương ứng với {wj } tức tồn L>0) cho m |F (ti , h, wi+1 , , wi+1−m ) − F (ti , h, vi+1 , , vi+1−m )| ≤ L |vi+1−j − wi+1−j | j=0 với i = m − 1, , N − Định nghĩa 7.2.1 Phương pháp đa bước gọi hội tụ lim max |wi − y(ti )| = h→0 0≤i≤N Ở dây xuất vấn đề, ta muốn phương pháp đa bước thích hợp tức phương trình sai phân hội tụ phương trình vi phân tốn bước nhảy tiến khơng, nghĩa sai số chặt cụt địa phương phải tiến bước bước nhảy tiến Sinh thêm điều kiện phải biết giá trị bắt đầu để thực thuật tốn đa bước Thơng thường giá trị đầu w0 = α xác, ta cần sai số giá trị bắt đầu {αj } tiến bước nhảy tiến Vi lim |τi (h) = i = m, , N h→0 lim |αi − y(ti )| = i = 1, , m − h→0 điều phải cho phương pháp đa bước có dạng biểu diễn 11.2.1 gọi thích hợp Chú ý điều kiện cuối cho thấy phương pháp đa bước thích hợp phương pháp bước tạo giá trị bắt đầu thích hợp 74 Định lý 7.2.1 Giả sử toán ban đầu y = f (t, y) a ≤ t ≤ b, y(a) = α xấp xỉ phương pháp Adams dự đoán - sửa lỗi với dự đoán phương pháp Adams-Bashforth m bước sau wi=1 = wi + h[bm−1 f (ti , wi ) + + b0 f (ti+1−m,wi+1−m )] với sai số chặt cụt địa phương τi+1 (h) sửa lỗi phương pháp ẩn Adams-Moulton (m-1) bước wi=1 = wi + h[bm−1 f (ti , wi ) + + b0 f (ti+1−m,wi+1−m )] với sai số chặt cụt địa phương τ i+1 (h) Giải sử f đạo hàm riêng fy liên tục D = {(t, y)|a ≤ t ≤ b, − < y < ∞} fy bị chặn Sai số chặt cụt địa phương phương pháp dự đoán - sửa lỗi σi+1 (h) = τ i+1 (h) + τi+1 (h)bm−1 ∂f (ti+1 , θi+1 ) ∂y với θi+1 ∈ (0, hτi+1 (h)) Hơn tồn k1 , k2 cho |wi − y(ti )| ≤ [ max |wj − y(tj )| + k1 σ(h)]ek2 (ti −a) 0≤j≤m−1 với σ(h) = max |σj (h)| 0≤j≤m−1 Trước xem xét thích hợp, hội tụ ổn định phương pháp đa bước, ta phân tích kĩ phương trình sai phân từ phương pháp Ta tìm hiểu chọn phương pháp Adams để làm chuẩn cho phương pháp đa bước Đầu tiên phương trình sai phân phương pháp đa bước có dạng w0 = α, wa = α1 , , wm−1 = αm−1 wi+1 = am−1 wi + + a0 wi+1−m + hF (ti , h, wi+1 , , wi+1−m ) Đa thức đặc trưng phương pháp P (λ) = λm − am−1 λm−1 − am−2 λm−2 − − a1 λ − a0 Tính ổn định phương pháp đa bước với sai số làm tròn xác định độ lớn đa thức đặc trưng Áp dụng dạng chuẩn phương pháp đa bước cho toán giá trị đầu tầm thường sau y = 0, y(a) = α = toán có nghiệm y(t) = α, lúc wn = α, ∀n Độ lệch với nghiệm xác gây sai số làm tròn phương pháp Do tốn tầm thường có f = nên F (ti , h, wi+1 , , wi+1−m ) = suy wi+1 = am−1 wi + + a0 wi+1−m (11.2.2) Giả sử λ nghiệm đa thức đặc trưng wn = λn λi+1 − am−1 λi − − a0 λi+1−m = λi+1−m [λm − am−1 λm−1 − − a0 ] = 75 Nếu λ1 , , λm nghiệm đa thức đặc trưng ta nghiệm 11.2.2 biểu diễn dạng m ci λni wn = (11.2.3) i=1 với số c1 , , cm có cách chọn, tức biểu diễn nghiệm xác y(t) = α ta chọn wn = α, ∀n thỏa 11.2.2 = α − αam−1 − − αa − = α(1 − am−1 − − a0 ) Điều chứng tỏ λ = nghiệm đa thức đặc trưng Ta giả sử biểu diễn 11.2.3 mô tả λ1 = 1, c1 = α, m ci + λni wn = α + (11.2.4) i=2 Nếu tính tốn xác c2 = = cm = thực hành chúng sai số làm tròn Sai số làm tròn tăng theo hàm mũ |λi | ≤ Các trị riêng có độ lớn nhỏ thuật tốn ổn định với tăng sai số làm tròn Từ 11.2.4 ta giả sử nghiệm đa thức đặc trưng phân biệt VD λk = = λk+p ta thay tổng ck λnk + + ck+p λnk+p ck λnk + + ck+p [n(n − 1) (n − p + 1)]λkn−p Mặc dù nghiệm hiệu chỉnh, sai số làm tròn |λk | > tăng theo số mũ Chúng ta xem xét trường hợp đặc biệt toán giá trị ban đầu, tốn tầm thường, ổn định giá trị riêng xác định f (t, y) khác Bởi nghiệm phương trình biến thành nghiệm phương trình qua phép ánh xạ đồng cấu Định nghĩa 7.2.2 Giả sử λ1 , , λm không cần phân biệt nghiệm đa thức đặc trưng P (λ) = λm − am−1 λm−1 − − a1 λ − a0 = với phương trình sai phân phương pháp đa bước w0 = α, wa = α1 , , wm−1 = αm−1 wi+1 = am−1 wi + + a0 wi+1−m + hF (ti , h, wi+1 , , wi+1−m ) Nếu nghiệm λ thỏa |λi | ≤ 1, i = 1, , m nghiệm có giá trị tuyệt đối nghiệm đơn phương pháp gọi thỏa điều kiện nghiệm Định nghĩa 7.2.3 (i) Phương pháp thỏa điều kiện nghiệm có nghiệm phương trình đặc trưng có độ lớn gọi ổn định mạnh (ii) Phương pháp thỏa điều kiện nghiệm có nhiều nghiệm phân biệt phương trình đặc trưng có độ lớn gọi ổn định yếu (iii) Phương pháp không thỏa điều kiện nghiệm gọi khơng ổn định Tính thích hợp hội tụ phương pháp đa bước liên quan đến ổn định sai số làm tròn thể định lý 76 Định lý 7.2.2 Phương trình sai phân phương pháp đa bước w0 = α, wa = α1 , , wm−1 = αm−1 wi+1 = am−1 wi + + a0 wi+1−m + hF (ti , h, wi+1 , , wi+1−m ) ổn định thỏa điều kiện nghiệm Hơn nữa, phương trình sai phân thỏa tính thích hợp với phương trình vi phân thuật tốn ổn định hội tụ dụ 7.2.1 Adams-Bashforth bậc bốn mơ tả wi+1 = wi + hF (ti , h, , wi−3 ) F (ti , h, , wi−3 ) = h [55f (ti , wi ) − 59f (ti−1 , wi−1 ) + 37f (ti−2 , wi−2 − 9f (ti−3 , wi−3 )] 24 ổn định mạnh Giải: Ta có m = 4, a0 = 0, a1 = 0, a2 = 0, a3 = nên đa thức đặc trưng P (λ) = λ4 − λ3 = λ3 (λ − 1) = có nghiệm λ1 = 1, λ2 = λ3 = λ4 = Do thỏa điều kiện nghiệm ổn định mạnh Tương tự Adams-Moulton bậc bốn ổn định mạnh Phương pháp Milne bậc bốn đa bước wi+1 = wi−3 + 4h [2f (ti , wi ) − f (ti−1 , wi−1 ) + 2f (ti−2 , wi−2 )] thỏa điều kiện nghiệm, thỏa ổn định Giải: Đa thức đặc trưng P (λ) = λ4 − = có bốn nghiệm λ1 = 1, λ2 = 1, λ3 = i, λ = −i nghiệm có độ lớn nên phương pháp thỏa điều kiện nghiệm Nhưng nghiệm có độ lớn nên phương pháp ổn định yếu dụ 7.2.2 Phương pháp ổn định mạnh Adams-Bashforth bậc bốn phương pháp hội tụ yếu Milne h = 0.1 có tốn ban đầu y − 6y + 6, ≤ t ≤ 1, với nghiệm y(t) = + e−6t Giải: Kết trình bày 77 y(0) = lí chọn Adams-Bashforth-Moulton dạng chuẩn kĩ thuật phương pháp dự đoán sửa lỗi bậc bốn cho phương pháp Milne-Simpson bậc Adams-Bashforth AdamsMoulton ổn định mạnh Chúng xấp xỉ xác cho lớp toán rộng phương pháp dự đoán - sửa lỗi dựa hai kĩ thuật ổn định yếu Mline Simpson Kết luận Bài viết giới thiệu số phương pháp tìm nghiệm xấp xỉ toán giá trị đầu cho phương trình vi phân thường Các phương pháp gồm có hai dạng I Phương pháp bước: Như trình bày dạng này, thuật tốn để tính nghiệm xấp xỉ sau phường trình sai phân phụ thuộc vào nghiệm xấp xỉ trước Các phương pháp cụ thể là: Phương pháp Euler +) Ưu: Hội tụ, thuật toán xây dựng đơn giản w0 = α wi+1 = wi + hf (ti , wi ) với i = 0, 1, , N − +) Nhược: Sai số lớn, thuật tốn khơng ổn định, tốc độ hội tụ thấp O(h) Phương pháp Taylor bậc cao +) Ưu: - Ý tưởng đơn giản, khai thác từ khai triển Taylor y(t) điểm nút bỏ phần dư w0 = α, wi+1 = wi + hT (n) (ti , wi ), i = 0, , N − Trong đó, hn−1 (n−1) h f (ti , wi ) T (n) (ti , wi ) = f (ti , wi ) + f (ti , wi ) + + n! - Khai thác sai số chặt cụt địa phương O(hn ) 78 +) Nhược: u cầu tính tóan cồng kềnh đạo hàm f (t, y) T (n) , độ xác thấp, chưa kiểm sốt sai số Phương pháp Kunge-Kutta bậc hai +) Ưu: Phương pháp Runge-Kutta có sai số chặt cụt địa phương phương pháp Taylor bậc cao giảm thiểu việc tính tốn làm tròn đạo hàm f (t, y) +) Nhược: Độ xác thấp, sai số chặt cụt địa phương O(h2 ), chưa kiểm soát sai số Hai trường hợp đặc biệt phương pháp Phương pháp trung điểm Euler hiệu chỉnh Phương pháp Euler hiệu chỉnh có độ xác cao Phương pháp trung điểm Phương pháp trung điểm Xấp xỉ T (2) (t, y) với sai số chặt cụt địa phương O(h2 ) w0 = α, wi+1 = wi + hf h h ti + , wi + f (ti , wi ) 2 i = 0, 1, , N − Phương pháp Euler hiệu chỉnh Xấp xỉ T (3) (t, y) với sai số chặt cụt địa phương O(h2 ), thuật toán ổn định w0 = α h wi+1 = wi + [f (ti , wi ) + f (ti+1 , wi + hf (ti , wi ))] i = 0, , N − Phương pháp Heun +) Ưu: Phương pháp Euler hiệu chỉnh xấp xỉ T (3) (t, y) với sai số chặt cụt địa phương O(h3 ), dạng Runge-Kutta bậc cao w0 = α h 2h 2h h h wi+1 = wi + (f (ti , wi ) + 3f (ti + , wi + f (ti + , wi + f (ti , wi ))) i = 0, 1, , N − 3 3 +) Nhược: Chưa có độ xác cao, chưa kiểm soát sai số Phương pháp Runge-Kutta bậc bốn Phương pháp Runge-Kutta bậc bốn xây dựng sau w0 = α k1 = hf (ti , wi ) h ti + , wi + k1 2 h k3 = hf ti + , wi + k2 2 k4 = hf (ti+1 , wi + k3 ) wi+1 = wi + (k1 + 2k2 + 2k3 + k4 ) i = 0, , N − k2 = hf 79 +) Ưu: Thuật tốn có sai số chặt cụt O(h4 ), độ xác cao, hội tụ, thuật tốn đơn giản, tính tốn phức tạp +) Nhược: Chưa kiểm soát sai số Phương pháp Runge-Kutta-Fehlberg +) Ưu: Kế thừa thuật toán Runge-Kutta bậc bốn, có sai số chặt cụt O(h4 ), độ xác cao cải tiến kiểm soát sai số +) Nhược: Thuật toán phức tạp, tính tốn cồng kềnh II Phương pháp đa bước: Ta lưu liệu nghiệm xấp xỉ có điểm t0 , , ti trước thu ti+1 sai số |wj − y(tj )| tăng theo j, nên ta cần phát triển phương pháp sử dụng liệu xác trước xấp xỉ nghiệm ti+1 Phương pháp sử dụng để xấp xỉ nhiều điểm trước để xác định nghiệm xấp xỉ điểm gọi phương pháp đa bước Thuật tốn có dạng chung wi+1 = am−1 wi + am−2 wi−1 + + a0 wi+1−m +h[bm f (ti+1 , wi+1 )+bm−1 f (ti , wi )] + + b0 f (ti+1−m , wi + − m)] (7.1) với i = m − 1, , N − 1; h = (b − a)/N w0 = α, w1 = α1 , , wm−1 = αm−1 Khi bm = phương pháp gọi hiện,wi+1 tính theo giá trị trước Khi bm = phương pháp ẩn,wi+1 xuất hai vế Hai phương pháp điển hình Phương pháp Adams-Bashforth +) Ưu: Sai số nhỏ, ổn định mạnh +) Nhược: Phương pháp Adams-Bashforth bậc bốn không tốt Runge-Kutta bậc bốn (sai số lớn hơn) 10 Phương pháp ẩn Adams-Moulton +) Ưu: Phương pháp ẩn Adams-Moulton có xấp xỉ tốt Phương pháp AdamsBashforth, ổn định mạnh +) Nhược: Do wi+1 có hai vế nên khơng phải lúc thuật tốn dễ dàng thực 11 Phương pháp dự đoán - sửa lỗi (predictor-corrector) +) Ưu: Kết hợp ưu khắc phục nhược hai phương pháp 9,10 Dùng Runge-Kutta bậc để tính giá trị đầu, sau dùng phương pháp Adams-Bashforth để dự đoán phương pháp ẩn Adams-Moulton để sửa lỗi, nghiệm hội tụ nghiệm xấp xỉ phương pháp ẩn 80 +) Nhược: Chưa kiểm soát sai số 12 Phương pháp biến nhảy đa bước +) Ưu: Có ưu điểm Phương pháp dự đốn - sửa lỗi kiểm soát sai số +) Nhược: Thuật tốn phức tạp, tính tốn cồng kềnh 13 Phương pháp ngoại suy +) Ưu: Các xấp xỉ có độ xác cao, kiểm sốt sai số +) Nhược: Thuật tốn phức tạp, tính tốn cồng kềnh Trong tiểu luận em chứng minh định lý, kết sách Burden, thực chi tiết thuật toán Matlab so sánh kết với nhau, dụ từ đầu đến cuối để so sánh phương pháp rõ ràng Tuy nhiên, phần phương pháp ngoại suy tiểu luận chưa khai thác sâu sắc Tài liệu tham khảo (1) Tài liệu phương pháp tính 2018, Đào Huy Cường (2) Richard L Burden, J Douglas Faires, Numerical Analysis, (Ninth edition), 2010 (3) Birkhoff, G and G Rota, Ordinary differential equations, (Fourth edition), John Wiley Sons, New York, 1989 (4) Gear, C W., Numerical initial-value problems in ordinary differential equations, PrenticeHall, Englewood Cliffs, NJ, 1971 (5) Wikipedia 81

Ngày đăng: 20/06/2018, 15:16

Từ khóa liên quan

Mục lục

  • Lời mở đầu

  • Bài toán giá trị ban đầu và các định lý cơ sở

  • Phương pháp Euler

    • Cơ sở của phương pháp Euler

    • Thuật toán

    • Ước lượng sai số

    • Hiệu chỉnh sai số

    • Phương pháp Taylor bậc cao

      • Sai số chặt cụt

      • Phương pháp Taylor bậc n

      • Phương pháp Runge-Kutta

        • Phương pháp Runge-Kutta bậc hai

        • Phương pháp trung điểm

        • Phương pháp Euler hiệu chỉnh

        • Phương pháp Heun

        • Phương pháp Runge-Kutta bậc bốn

        • So sánh tính toán

        • Kiểm soát sai số và phương pháp Runge-Kutta-Fehlberg

        • Phương pháp đa bước

          • Phương pháp hiện Adams-Bashforth

          • Phương pháp ẩn Adams-Moulton

          • Phương pháp dự đoán - sửa lỗi

          • Kiểm soát sai số và phương pháp biến nhảy đa bước

          • Phương pháp ngoại suy

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

Tài liệu liên quan