Một số thuật toán runge kutta với bước lưới thay đổi giải một lớp phương trình vi phân đại số

62 24 0
Một số thuật toán runge kutta với bước lưới thay đổi giải một lớp phương trình vi phân đại số

Đ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

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN Phan Quang Tuyển MỘT SỐ THUẬT TOÁN RUNGE - KUTTA VỚI BƯỚC LƯỚI THAY ĐỔI GIẢI MỘT LỚP PHƯƠNG TRÌNH VI PHÂN ĐẠI SỐ LUẬN VĂN THẠC SĨ KHOA HỌC Hà Nội - 2019 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN Phan Quang Tuyển MỘT SỐ THUẬT TOÁN RUNGE - KUTTA VỚI BƯỚC LƯỚI THAY ĐỔI GIẢI MỘT LỚP PHƯƠNG TRÌNH VI PHÂN ĐẠI SỐ Chuyên ngành: Toán ứng dụng Mã số: 8460112.01 LUẬN VĂN THẠC SĨ KHOA HỌC NGƯỜI HƯỚNG DẪN KHOA HỌC PGS TSKH Vũ Hoàng Linh Hà Nội - 2019 LỜI CẢM ƠN Trước trình bày nội dung luận văn, tơi xin bày tỏ lịng biết ơn sâu sắc tới thầy giáo PGS TSKH Vũ Hoàng Linh, người trực tiếp hướng dẫn, dạy để tơi hồn thành luận văn Tơi xin bày tỏ lòng biết ơn chân thành đến Khoa Tốn- Cơ- Tin học, Phịng Sau đại học, Trường Đại học Khoa học Tự nhiên Hà Nội − Đại học Quốc gia Hà Nội, quý thầy cô giáo tham gia giảng dạy khóa cao học 20172019 dạy bảo tơi tận tình suốt q trình học tập trường Tôi xin gửi lời cảm ơn chân thành tới gia đình, bạn bè, đồng nghiệp Khoa khoa học bản, Trường Sĩ quan Pháo binh, nơi công tác, hỗ trợ, động viên tạo điều kiện cho học tập, nghiên cứu thực luận văn Cuối cùng, xin chân thành cảm ơn TS Nguyễn Duy Trường, giảng viên trường Sĩ quan lục quân 1, toàn thể bạn bè, anh chị em lớp cao học 20172019 động viên giúp đỡ cho trình thực luận văn Hà Nội, ngày 28 tháng 11 năm 2019 Học viên Phan Quang Tuyển Mục lục Giới thiệu 13 1.1 Phương trình vi phân đại số 13 1.1.1 Khái niệm phân loại phương trình vi phân đại số 13 1.1.2 Chỉ số phương trình vi phân đại số 15 Phương pháp Runge-Kutta cho phương trình vi phân thường 18 1.2.1 Phương pháp Runge-Kutta tổng quát 19 1.2.2 Sự hội tụ tính ổn định phương pháp Runge-Kutta 20 Đánh giá sai số lựa chọn bước phương pháp nhúng 21 1.3.1 Ý tưởng phương pháp nhúng RK 21 1.3.2 Phương pháp nhúng RK 22 1.2 1.3 Phương pháp Runge-Kutta nửa giải phương trình vi phân đại số 25 2.1 Trường hợp phương trình vi phân đại số dạng nửa số 25 2.2 Trường hợp phương trình vi phân đại số khơng có tính lạ 27 2.2.1 Phân tích tốn 28 2.2.2 Phương pháp Runge-Kutta nửa 30 2.3 Trường hợp phương trình vi phân đại số khơng có tính lạ có cấu trúc 34 2.3.1 Phân tích cấu trúc toán 35 2.3.2 Sự phụ thuộc nghiệm vào liệu 37 2.3.3 Rời rạc hóa phương pháp Runge-Kutta nửa 39 2.3.4 Sự hội tụ phương pháp Runge-Kutta nửa 42 2.3.5 Tính ổn định tuyệt đối phương pháp Runge-Kutta nửa 44 Phương pháp Runge-Kutta với bước lưới thay đổi giải phương trình vi phân đại số 48 3.1 Phương pháp nhúng 48 3.1.1 Phương trình vi phân đại số khơng có tính lạ 50 3.1.2 Phương trình vi phân đại số khơng có tính lạ có cấu trúc 51 3.2 Thử nghiệm số 53 Kết luận 65 Tài liệu tham khảo 66 DANH MỤC KÝ HIỆU N Tập hợp số tự nhiên R Tập số thực C Tập số phức I Đoạn [0, T ] ⊂ R Rm , (Cm ) Không gian véc tơ m chiều R, (C) Rm1 ,m2 Không gian ma trận thực cỡ m1 × m2 C p (I, Rm ) Không gian hàm véc tơ m chiều khả vi liên tục cấp p C p (I, Rm1 ,m2 ) Khơng gian hàm ma trận cỡ m1 × m2 khả vi liên tục cấp p Ik Ma trận đơn vị cấp k rank( A) Hạng ma trận A Const Hằng số O(hk ) Vơ bé bậc với hk Điều phải chứng minh DANH MỤC VIẾT TẮT BTGTBĐ Bài toán giá trị ban đầu ƠĐTĐ Ổn định tuyệt đối PTVPT Phương trình vi phân thường PTVPĐS Phương trình vi phân đại số RK Phương pháp Runge-Kutta HERK Phương pháp Runge-Kutta nửa (Half explicit Runge-Kutta) IRK Phương pháp Runge-Kutta ẩn (Implicit Runge-Kutta) HEOL Phương pháp chân nửa (Half explicit One - leg ) HELM Phương pháp đa bước nửa (Half explicit linear multistep) LỜI MỞ ĐẦU Trong thực tế, gặp nhiều toán lĩnh vực khoa học kĩ thuật học, hóa học, hệ mạch điện, lý thuyết điều khiển, động lực học chất lỏng, v.v mơ hình hóa dạng hệ hỗn hợp phương trình vi phân kết hợp với ràng buộc đại số Các hệ gọi phương trình vi phân đại số (PTVPĐS, DAEs) PTVPĐS có dạng tổng quát F (t, x, x ) = 0, (0.0.1) t ∈ I = [0, T ], F : I × Rm × Rm → Rn , m, n ∈ N Nếu ma trận Jacobi F theo x không suy biến, theo định lý hàm ẩn, từ phương trình (0.0.1) ta giải x = f (t, x ), dạng phương trình vi phân thường (PTVPT) Trong trường hợp tổng quát, ma trận Jacobi F theo x suy biến Khi đó, có PTVPĐS, hay cịn gọi phương trình vi phân ẩn Ví dụ 0.0.1 [5, Example 1.3 ]Xét lắc đơn có khối lượng m chiều dài l Đặt hệ trục tọa độ Đề Oxy hình vẽ: Hình 1: Con lắc đơn Động lắc T = 21 m x + y , U = mgy, g gia tốc trọng trường, với ràng buộc x2 + y2 − l = 0, ta có hàm Lagrange L = 12 m x + y − mgy − λ x2 + y2 − l , với tham số Lagrange λ Phương trình chuyển động lắc có dạng d dt ∂L ∂q − ∂L , ∂q với biến q = x, y, λ, nghĩa ta có: mx + 2λx = 0, my + mg + 2λy = 0, (0.0.2) x2 + y2 − l = Bằng cách đặt biến u = x , v = y , phương trình (0.0.2) trở thành x − u = 0, y − v = 0, mu + 2λx = 0, (0.0.3) mv + mg + 2λy = 0, x2 + y2 − l = Đây PTVPĐS có số với biến x, y, u, v, λ Giả sử, ta giải toán giá trị ban đầu (BTGTBĐ) (0.0.1) với điều kiện đầu x (0) = x0 , x0 ∈ Rm Sự tồn nghiệm BTGTBĐ (0.0.1) phụ thuộc vào điều kiện ban đầu x0 Trong ví dụ (0.0.1) để hệ (0.0.3) có nghiệm điều kiện ta cần có x02 + y20 = l02 Khơng vậy, điều kiện ban đầu PTVPĐS cịn liên quan đến đạo hàm ràng buộc thời điểm ban đầu, xem [3] Các PTVPĐS xuất từ toán thực tế thường hệ phức tạp, khơng có hy vọng giải đúng, nhiều trường hợp cần biết thông tin nghiệm số nghiệm gần với mức độ xác định Việc nghiên cứu giải số cho PTVPT phát triển từ lâu, việc nghiên cứu lý thuyết phương pháp số PTVPĐS phát triển mạnh khoảng 30 năm trở lại Các phương pháp số cho PTVPĐS mở rộng từ phương pháp số cho PTVPT Tuy nhiên, có nhiều ví dụ cho thấy phương pháp quen thuộc giải PTVPT áp dụng cho PTVPĐS gặp khó khăn như: lời giải số khơng ổn định chí khơng tồn tại, xảy tượng giảm cấp xác, v.v Trong năm cuối kỉ 20 đầu kỉ 21, nghiên cứu tập trung vào PTVPĐS dạng ẩn Nhóm tác giả P Kunkel V Mehrmann có nghiên cứu cách có hệ thống PTVPĐS dạng (0.0.1) có số tùy ý Các tác giả nghiên cứu số lạ toán đề xuất thuật toán đưa toán PTVPĐS dạng (0.0.1) dạng tắc khơng có tính lạ, sau áp dụng cơng thức rời rạc hóa để thu nghiệm số toán (0.0.1) Gần đây, lớp PTVPĐS thu hút quan tâm nhà tốn học PTVPĐS ẩn khơng có tính lạ có dạng f (t, x, x ) = 0, g(t, x ) = 0, ∀t ∈ [t0 , T ] (0.0.4) Khơng tính tổng qt, ta giả sử t0 = f : I × Rm × Rm → Rm1 , g : I × Rm → Rm2 , (m = m1 + m2 ) hàm đủ trơn có đạo hàm riêng bị chặn thỏa mãn f x (t, x, x ) gx (t, x ) không suy biến dọc theo nghiệm x(t) (0.0.5) Tác giả V.H Linh V Mehrmann [7] nghiên cứu tính chất toán (0.0.4) đề xuất phương pháp chân nửa (HEOL), phương pháp đa bước nửa (HELM), phương pháp Runge-Kutta nửa (HERK) để giải hiệu PTVPĐS (0.0.4) khơng có tính cương Khi nghiên cứu lớp PTVPĐS có cấu trúc dạng f (t, x, E(t) x ) = 0, (0.0.6) g(t, x ) = 0, đoạn [0, T ], E ∈ C1 (I, Rm1 ,m ) hàm f = f (t, u, v) : I × Rm × Rm1 → Rm1 , g = g(t, u) : I × Rm → Rm2 , (m, m1 , m2 ∈ N, m = m1 + m2 ) đủ trơn 10 Chương Phương pháp Runge-Kutta với bước lưới thay đổi giải phương trình vi phân đại số Khi sử dụng phương pháp Runge-Kutta với bước lưới h đều, ta đánh giá sai số thực tế nghiệm biết nghiệm xác, đánh giá cấp hội tụ phương pháp, xem thử nghiệm số [7] Tuy nhiên, thông thường khơng có nghiệm xác Hơn nữa, sử dụng bước lưới để tính tốn thấy khoảng thời gian nghiệm thay đổi cách nhanh chóng, khoảng thời gian khác nghiệm lại thay đổi cách chậm chạp Vì vậy, khơng sử dụng bước lưới h, mà thay vào ta sử dụng phương pháp Runge-Kutta với bước lưới h thay đổi phương pháp nhúng kết hợp với phương pháp HERK chương để giải lớp PTVPĐS khơng có tính lạ, khơng có tính lạ có cấu trúc để từ đánh giá sai số, chọn bước lưới h phù hợp với giới hạn sai số cho phép Trong chương cuối này, phần đầu tơi trình bày phương pháp nhúng Runge-Kutta, phần thứ hai đưa thử nghiệm số minh họa cho phương pháp nhúng 3.1 Phương pháp nhúng Ý tưởng phương pháp nhúng gần giống với phương pháp nhúng RK cho PTVPT Ở đây, ta sử dụng cặp phương pháp RK s nấc có cấp xác p 48 p + kết hợp với phương pháp HERK nêu chương Chúng ta sử dụng cặp phương pháp Runge-Kutta cấp p p + 1: c A bT bˆ T với A = [ aij ]s×s , b = (b1 bs ) T bˆ = (d1 ds ) T Thuật tốn 3.1.1 Xét phương trình vi phân đại số (2.2.1) đoạn [t0 , t f ], với sai số cho trước TOL điều kiện ban đầu tương thích x (t0 ) = x0 Với xn−1 biết, bước lưới h = h0 cho, biến đếm k = 1, ta tính nghiệm Ui , i = 1, , s, xn yn Ta so sánh, |yn − xn | ≤ TOL, • Ta chấp nhận bước h, • Ta tính lại yn xn với xn−1 bước thứ biết thay nghiệm phương pháp RK có cấp xác cao yn , • Tăng giá trị k, (k → k + 1) t = t + h, • Nếu t + h > t f h = t f − t Nếu bất đẳng thức |yn − xn | ≤ TOL khơng thỏa mãn bước h bị thay bước h˜ = h f racTOL |yn − xn | p +1 Thuật toán cài đặt Matlab, việc thực thuật toán áp dụng cho hai trường hợp: PTVPĐS khơng có tính lạ, PTVPĐS khơng có tính lạ có cấu trúc 49 3.1.1 Phương trình vi phân đại số khơng có tính lạ Giải toán PTVPĐS f (t, x (t), x (t)) = g(t, x (t)) = 0, đoạn I = [t0 , t f ], với điều kiện ban đầu x (t0 ) = x0 Giả sử ai+1,i = với i = 1, 2, , s − bs = Xét đoạn [tn−1 , tn ], xn−1 ≈ x (tn−1 ) Tại nấc thứ i: Ui ≈ x (tn−1 + ci h) Ki ≈ Ui , i = 1, , s, T (i ) = tn−1 + c(i )h Cài đặt giá trị cho trước U1 = xn−1 , tn−1 = t, h = h0 , sai số TOL biến đếm k = Ta có i −1 Ui = xn−1 + h ∑ ai,j K j , i = 1, 2, , s j =1 Ta tìm nghiệm Ui+1 , Ki , i = 1, · · · , s − giải từ hệ phương trình đại số f tn−1 + c(i )h, Ui , ai+1,i g(tn−1 + ci+1 h, Ui+1 ) = 0, Ui+1 − xn−1 i−1 − ∑ ai+1,i K j h j =1 = 0, i = 1, 2, s − Việc tính tốn tìm nghiệm Ui+1 , Ki , i = 1, · · · , s − cho phương pháp nhúng RK thực chung nấc i = 1, , s Cuối cùng, ta tìm nghiệm xn : xn = xn−1 + h ∑is=1 bi Ki , giải từ hệ f tn−1 + cs h, Ui , bs x n − x n −1 s −1 − ∑ bi K i h i =1 = 0, g(tn , xn ) = nghiệm yn : yn = xn−1 + h ∑is=1 di Ki , giải từ hệ f tn−1 + cs h, Ui , ds y n − x n −1 s −1 − ∑ d i Ki h i =1 g(tn , yn ) = 50 = 0, So sánh |yn − xn | ≤ TOL Nếu bất đẳng thức ta giữ bước lưới h, tính lại xn , yn với xn−1 → yn , tăng k → k + 1, t = t + h Nếu t + h > t f h = t f − t Nếu bất đẳng thức khơng thỏa mãn bước h thay ˜ bước h: h˜ = h f racTOL |yn − xn | p +1 Tiếp tục q trình tính tốn dừng lại, ta in thời gian tính tốn, số bước k, sai số tính toán nghiệm phương pháp, sai số thực so với nghiệm xác, vẽ đồ bước lưới h theo thời gian v.v 3.1.2 Phương trình vi phân đại số khơng có tính lạ có cấu trúc Xét PTVPĐS dạng biến đổi f (t, x (t), ( Ex ) (t) − E (t) x (t)) = 0, g(t, x (t)) = 0, Xét đoạn [tn , tn+1 ], với giá trị ban đầu tn = t, xn ≈ x (tn ), h = h0 Đặt T (i ) = tn + ci h xấp xỉ nấc Ui ≈ x ( T (i )), Ki ≈ ( Ex ) ( T (i )), i = 1, 2, , s Giả sử thêm giá trị hàm Ei = E( T (i )), Ei = E ( T (i )) xác định Cài đặt giá trị ban đầu U1 = xn , sai số cho trước TOL, biến đếm k = 1 Ta có i −1 Ei Ui = E(tn )U1 + h ∑ aij K j , j =1 xấp xỉ Ui , Ki−1 , i = 2, , s, xác định từ hệ phương trình đại số: = h f T (i − 1), Ui−1 , Ki−1 − Ei−1 Ui−1 , = g( T (i ), Ui ), 51 Ki −1 = ai,i−1 Ei Ui − E(tn )U1 i−2 − ∑ ai,j K j h j =1 Các nghiệm xấp xỉ Ui , Ki−1 , i = 2, , s cặp phương pháp nhúng RK tính nấc Cuối cùng, ta xác định nghiệm xn+1 : E(tn+1 ) xn+1 = E(tn )U1 + h ∑is=1 bi Ki , dựa vào hệ: = h f T (s), Us , Ks − Es Us , = g ( t n +1 , x n +1 ), Ks = bs E ( t n +1 ) x n +1 − E ( t n ) x n s −1 − ∑ bi K i h i =1 nghiệm yn+1 : E(tn+1 )yn+1 = E(tn )U1 + h ∑is=1 di Ki xác định từ hệ phương trình đại số = h f T (s), Us , Ks − Es Us , = g ( t n +1 , y n +1 ), Ks = ds E ( t n +1 ) y n +1 − E ( t n ) x n s −1 − ∑ d i Ki h i =1 So sánh |yn+1 − xn+1 | ≤ TOL Nếu bất đẳng thức ta giữ bước lưới h, tính lại xn+1 , yn+1 với xn → yn+1 , tăng k → k + 1, t = t + h Nếu t + h > t f h = t f − t Nếu bất đẳng thức khơng thỏa mãn bước h thay ˜ bước h: h˜ = h f racTOL | y n +1 − x n +1 | 52 p +1 Tiếp tục q trình tính tốn dừng lại, ta in thời gian tính tốn, số bước k, sai số tính tốn nghiệm phương pháp, sai số nghiệm thực so với nghiệm xác, vẽ đồ bước lưới h theo thời gian v.v Ta thấy PTVPĐS khơng có tính lạ có cấu trúc dạng biến đổi (2.3.3) qua phép đổi biến x (t) = Q(t)y(t) đưa dạng PTVPĐS nửa số (2.3.6) Khi đó, áp dụng phương pháp nhúng RK có cấp p nhúng phương pháp RK có cấp p + tính ổn định hội tụ bảo tồn Ta có hệ sau: Mệnh đề 3.1.1 Phương pháp nhúng với cặp phương pháp RK cấp p cấp p + 1, kết hợp với phương pháp Runge-Kutta nửa (HERK) giải PTVPĐS khơng có tính lạ có cấu trúc có cấp hội tụ p Chứng minh Mệnh đề suy trực tiếp từ Định lí 2.1.1, Định lí 2.3.1 Bổ đề 2.3.2 3.2 Thử nghiệm số Ví dụ 3.2.1 Xét BTGTBĐ cho phương trình thử PTVPĐS −ωt 0 x = λ ω (1 − λt) −1 + ωt x, với số giá trị tham số đặc biệt λ ω đoạn [0, 5] PTVPĐS khơng có tính lạ có cấu trúc, cho giá trị ban đầu x1 (0) = 1, x2 (0) = 1, nghiệm xác x= eλt (1 + ωt) eλt Sử dụng phương pháp nhúng kết hợp phương pháp HERK áp dụng cho phương trình thử PTVPĐS viết dạng khơng có tính lạ 53 a) Sử dụng phương pháp nhúng với cặp Fehlberg4(5) Do cặp phương pháp RK ban đầu có cấp xác 4, nên xảy tượng giảm cấp xác Kiểm tra thử nghiệm số với phương pháp HERK cấp cấp cho phương trình thử PTVPĐS với bước lưới h Kí hiệu phương phương pháp RK Fehlberg cấp cấp RKF4 RKF5 Chúng ta thấy cặp phương pháp RK h=0.025 Tốc độ hội tụ x1 Tốc độ hội tụ x2 h/2 4.0171e − 01 1.1433 h/4 2.2101 2.0416 h/8 1.3406 1.3125 h/16 1.1606 1.1533 h/32 1.0875 1.0871 h/64 1.0488 1.0513 h/128 1.0278 1.0316 Bảng 3.1: Kiểm tra cấp xác phương pháp RKF4 với λ = −1, ω = 100 h=0.025 Tốc độ hội tụ x1 Tốc độ hội tụ x2 h/2 1.6026 2.0151 h/4 2.6948 2.6266 h/8 2.1067 2.0966 h/16 2.0345 2.0322 h/32 2.0195 2.0189 h/64 2.0116 2.0115 h/128 2.0065 2.0064 Bảng 3.2: Kiểm tra cấp xác phương pháp RKF5 với λ = −1, ω = 100 Fehlberg có cấp cấp bị giảm cấp xác xuống cịn cấp cấp Do đó, áp dụng phương pháp nhúng RK Fehlberg trường hợp khơng có ý nghĩa sử dụng chi phí tính tốn lớn cho phương pháp RK cấp cấp mà kết thu không tốt sử dụng phương pháp HERK với bước lưới h 54 b) Sử dụng phương pháp nhúng với cặp Dormand-Prince4(5) Kiểm tra thử nghiệm số với phương pháp HERK cấp cấp cho phương trình thử PTVPĐS với bước lưới h Kí hiệu phương phương pháp RK Dormand-Prince cấp cấp RKDP4 RKDP5 Qua thử nghiệm số, thấy cặp phương pháp RK Dormandh=0.025 Tốc độ hội tụ x1 Tốc độ hội tụ x2 h/2 1.4762 1.4809 h/4 1.9411 1.9431 h/8 2.0457 2.0463 h/16 2.0467 2.0468 h/32 2.0298 2.0299 h/64 2.0166 2.0166 h/128 2.0087 2.0087 Bảng 3.3: Kiểm tra cấp xác phương pháp RKDP4 với λ = −1, ω = 100 h=0.025 Tốc độ hội tụ x1 Tốc độ hội tụ x2 h/2 9.2868e − 01 9.2864e − 01 h/4 2.2381 2.2381 h/8 2.8635 2.8635 h/16 3.0300 3.0300 h/32 3.0546 3.0545 h/64 3.0402 3.0417 h/128 3.0151 3.0082 Bảng 3.4: Kiểm tra cấp xác phương pháp RKDP5 với λ = −1, ω = 100 Prince có cấp cấp bị giảm cấp xác xuống cịn cấp cấp tương ứng Kí hiệu phương pháp nhúng sử dụng cặp Dormand-Prince4(5) sHERKDP4(5), sai số đánh giá xi , (i = 1, 2) sai số nghiệm xấp xỉ dùng 55 h=0.02 h h/2 h/4 h/8 h/16 h/32 h/64 h/128 N 250 500 1000 2000 4000 8000 16000 32000 SS thực tế x1 4.7205e − 02 1.0279e − 02 1.8317e − 03 2.8126e − 04 3.9317e − 05 5.2105e − 06 6.7109e − 07 8.5211e − 08 Tốc độ x1 2.1993 2.4884 2.7032 2.8387 2.9157 2.9568 2.9774 SS thực tế x2 3.1906e − 04 6.9497e − 05 1.2385e − 05 1.9018e − 06 2.6586e − 07 3.5233e − 08 4.5379e − 09 5.7627e − 10 Tốc độ x2 2.1988 2.4883 2.7032 2.8387 2.9157 2.9568 2.9772 Bảng 3.6: Thử nghiệm số phương pháp sHERK4 với λ = −1, ω = 100 Sử dụng phương pháp nhúng kết hợp với phương pháp HERK áp dụng cho phương trình thử PTVPĐS viết dạng khơng có tính lạ có cấu trúc, với bước ban đầu h = 0.1, sai số tương đối tol = 10−7 Kí hiệu phương pháp nhúng sử dụng cặp Fehlberg 4(5) HERKF4(5), phương pháp nhúng sử dụng cặp Dormand-Prince4(5) HERKDP4(5) Ta có bảng so sánh hai phương pháp: h=0.1 HERKF4(5) HERKDP4(5) Số bước 44 41 Sai số đánh giá x1 7.5731e − 08 7.3105e − 10 Sai số đánh giá x2 1.5116e − 10 1.4592e − 12 Sai số thực tế x1 1.1480e − 06 6.1345e − 07 Sai số thực tế x2 7.5692e − 09 4.0076e − 09 Bảng 3.7: So sánh phương pháp HERKF4(5) HERKDP4(5) Ta thấy việc sử dụng phương pháp nhúng sử dụng cặp Dormand-Prince4(5) cho số bước Đúng phân tích phương pháp nhúng cho PTVPT phương pháp nhúng sử dụng cặp Dormand-Prince4(5) có sai số thực tế nghiệm xi , i = 1, sai số đánh giá nghiệm xấp xỉ phương pháp RK phương pháp nhúng nhỏ so với phương pháp nhúng sử dụng cặp Fehlberg 4(5) Tuy nhiên, khác biệt hai phương pháp không nhiều, hai phương pháp có cấp hội tụ 4, (Mệnh đề 3.1.1) 57 phương pháp cho kết tốt Sử dụng phương pháp HERK với bước lưới h với phương pháp RK ban đầu phương pháp RK cổ điển nấc, kí hiệu HERK4 h=0.1 h h/2 h/4 h/8 h/16 h/32 N 50 100 200 400 800 1600 SS thực tế x1 4.9282e − 05 2.9542e − 06 1.8083e − 07 1.1188e − 08 6.9424e − 10 4.2586e − 11 Tốc độ x1 4.0602 4.0301 4.0146 4.0104 4.0270 SS thực tế x2 3.3324e − 07 1.9976e − 08 1.2228e − 09 7.5633e − 11 4.6971e − 12 3.0831e − 13 Tốc độ x2 4.0602 4.0301 4.0150 4.0092 3.9293 Bảng 3.8: Thử nghiệm số phương pháp HERK4 với λ = −1, ω = 100 Dựa vào thử nghiệm số cho bảng (3.8) ta thấy phương pháp HERK4 giữ cấp xác Với sai số cho trước tol = 10−7 , phương pháp HERK4 cần số bước 200 với bước lưới h = 0.025 nhỏ, phương pháp HERKF4(5) cần số bước 44, phương pháp HERKDP4(5) cần số bước 41 Như vậy, phương pháp HERKF4(5) phương pháp HERKDP4(5) cho kết tốt so với phương pháp HERK4 với sai số cho trước Ví dụ 3.2.2 Chúng ta xét PTVPĐS phi tuyến x1 ( x1 + tx2 ) = x1 x2 et + e2t + t cos tet − e2t sin t, −t (3.2.1) = e x1 − x2 + sin t − 1, với t ∈ [0, 5] với điều kiện ban đầu x (0) = [1 0] T Dễ dàng ta kiểm tra (3.2.1) PTVPĐS khơng có tính lạ Thật vậy, ma trận Jacobi fv E gu = x1 tx1 e − t −1 , có định thức x1 (−1 − tet ) = với t ∈ [0, 5] điều kiện ban đầu x (0) = [1 0] T PTVPĐS (3.2.1) có nghiệm x1 = et , x2 = sin t 59 Sử dụng phương pháp nhúng kết hợp với phương pháp HERK cho tốn PTVPĐS (3.2.1) viết dạng khơng có tính lạ a) Sử dụng phương pháp nhúng với cặp Fehlberg4(5) h=0.1 Tốc độ hội tụ x1 Tốc độ hội tụ x2 h/2 1.1099 0.88301 h/4 1.0607 0.94079 h/8 1.0321 0.97068 h/16 1.0165 0.98541 h/32 1.0084 0.99273 Bảng 3.9: Kiểm tra cấp xác phương pháp RKF4 h=0.1 Tốc độ hội tụ x1 Tốc độ hội tụ x2 h/2 1.9521 1.9483 h/4 1.9762 1.9744 h/8 1.9882 1.9873 h/16 1.9941 1.9937 h/32 1.9971 1.9968 Bảng 3.10: Kiểm tra cấp xác phương pháp RKF5 Chúng ta thấy cặp phương pháp RK Fehlberg có cấp cấp bị giảm cấp xác xuống cịn cấp cấp Do đó, áp dụng phương pháp nhúng RK Fehlberg trường hợp khơng có ý nghĩa sử dụng chi phí tính toán lớn cho phương pháp RK cấp cấp mà kết thu không tốt sử dụng phương pháp HERK với bước lưới h b) Sử dụng phương pháp nhúng với cặp Dormand-Prince4(5) Kiểm tra thử nghiệm số với phương pháp HERK cấp cấp cho phương trình thử PTVPĐS với bước lưới h Qua thử nghiệm số, thấy cặp phương pháp RK Dormand-Prince có cấp cấp bị giảm cấp xác xuống cịn cấp cấp tương ứng 60 h=0.1 Tốc độ hội tụ x1 Tốc độ hội tụ x2 h/2 1.8678 1.8622 h/4 1.9360 1.9330 h/8 1.9686 1.9670 h/16 1.9845 1.9836 h/32 1.9923 1.9918 Bảng 3.11: Kiểm tra cấp xác phương pháp RKDP4 h=0.025 Tốc độ hội tụ x1 Tốc độ hội tụ x2 h/2 2.9001 2.9031 h/4 2.9529 2.9537 h/8 2.9771 2.9773 h/16 2.9887 2.9888 h/32 2.9934 2.9935 Bảng 3.12: Kiểm tra cấp xác phương pháp RKDP5 Sử dụng phương pháp nhúng với cặp Dormand-Prince4(5): số bước (N) 69 Sai số đánh giá x1 2.0796e − 09 Sai số đánh giá x2 1.4012e − 11 Sai số thực tế x1 6.9627e − 06 Sai số thực tế x2 6.1979e − 08 Bảng 3.13: Phương pháp sHERKDP4(5) với tol = 10−7 , bước lưới ban đầu h = 0.1 61 Kết luận Trong luận văn, tơi trình bày phương pháp Runge-Kutta nửa áp dụng cho lớp PTVPĐS dạng nửa hiện, khơng có tính lạ, khơng có tính lạ có cấu trúc Từ đưa phương pháp nhúng cho phương pháp HERK thực thử nghiệm số, có số kết đánh giá sai số, số bước bước lưới h để thấy được: Khi áp dụng phương pháp nhúng cho PTVPĐS dạng khơng có tính lạ với cấp phương pháp RK ban đầu p > xảy tượng giảm cấp xác Qua thử nghiệm số, ta thấy sử dụng phương pháp nhúng với cặp Fehlberg cấp cấp bị giảm cấp xác xuống cịn cấp cấp tương ứng Do đó, ta khơng sử dụng phương pháp nhúng với cặp Fehlberg4(5) trường hợp Phương pháp nhúng với cặp DormandPrince cấp cấp bị giảm cấp xác xuống cịn cấp cấp tương ứng Tuy nhiên, sử dụng phương pháp nhúng với cặp DormandPrince4(5) cho ta số bước so với việc áp dụng phương pháp sHERK4 với bước lưới h với sai số cho trước Khi thực phương pháp nhúng cho PTVPĐS khơng có tính lạ cấu trúc cấp xác phương pháp RK bảo tồn Do đó, với sai số cho trước phương pháp nhúng sử dụng cặp Fehlberg4(5) phương pháp nhúng sử dụng cặp Dormand-Price4(5) cho số bước nhỏ nhiều so với phương pháp HERK4 với bước lưới h 65 Tài liệu tham khảo Tài liệu tiếng Việt [1] Phạm Kỳ Anh (2005), Giải tích số, NXB Đại học Quốc gia Hà Nội [2] Nguyễn Duy Trường (2019), Một số phương pháp hiệu giải phương trình vi phân đại số phi tuyến có cấu trúc, Luận án tiến sĩ toán học, Đại học khoa học tự nhiên - ĐHQG Hà Nội Tài liệu tiếng Anh [3] U Ascher and L Petzold (1998), Computer methods for Ordinary differential equations and differential - algebraic equations, SIAM, Philadenphia [4] V.Brasey, E Hairer, Half-explicit Runge-Kutta methods for differential-algebraic systems of index 2, SIAM J Numer Anal., 30 (1993), pp 538-552 [5] P Kunkel and V Mehrmann (2006) Differential - Algebraic Equations Analysis and Numerical Solution , European Mathematical Society, Zurich [6] P Kunkel and V Mehrmann, Stability properties of differential-algebraic equations and spin-stabilized discretization, Electron Trans Numer Anal., 26 (2007), pp 385-420 [7] V.H Linh and V Mehrmann (2014), Efficient integration of strangeness-free non-stiff differential-algebraic equations by half-explicit methods, J Comput Appl Math., 262: 346-360 66 [8] V.H Linh and N.D Truong (2018), Runge - Kutta methods revisited for a class of structured strangeness-free differential-algebraic equations, Electr Trans Num Anal., 48: 131-135 67 ... niệm phân loại phương trình vi phân đại số 13 1.1.2 Chỉ số phương trình vi phân đại số 15 Phương pháp Runge- Kutta cho phương trình vi phân thường 18 1.2.1 Phương pháp Runge- Kutta. .. pháp Runge- Kutta nửa giải phương trình vi phân đại số 25 2.1 Trường hợp phương trình vi phân đại số dạng nửa số 25 2.2 Trường hợp phương trình vi phân đại số khơng có tính lạ 27 2.2.1 Phân. ..ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN Phan Quang Tuyển MỘT SỐ THUẬT TOÁN RUNGE - KUTTA VỚI BƯỚC LƯỚI THAY ĐỔI GIẢI MỘT LỚP PHƯƠNG TRÌNH VI PHÂN ĐẠI SỐ Chun ngành:

Ngày đăng: 17/07/2020, 15:56

Mục lục

  • Giới thiệu

    • Phương trình vi phân đại số

      • Khái niệm và phân loại phương trình vi phân đại số

      • Chỉ số của phương trình vi phân đại số

      • Phương pháp Runge-Kutta cho phương trình vi phân thường

        • Phương pháp Runge-Kutta tổng quát

        • Sự hội tụ và tính ổn định của phương pháp Runge-Kutta

        • Đánh giá sai số và lựa chọn bước đi bằng phương pháp nhúng

          • Ý tưởng của phương pháp nhúng RK

          • Phương pháp nhúng RK

          • Phương pháp Runge-Kutta nửa hiện giải phương trình vi phân đại số

            • Trường hợp phương trình vi phân đại số dạng nửa hiện chỉ số 1

            • Trường hợp phương trình vi phân đại số không có tính lạ

              • Phân tích bài toán

              • Phương pháp Runge-Kutta nửa hiện

              • Trường hợp phương trình vi phân đại số không có tính lạ và có cấu trúc

                • Phân tích cấu trúc của bài toán

                • Sự phụ thuộc của nghiệm vào dữ liệu

                • Rời rạc hóa bằng phương pháp Runge-Kutta nửa hiện

                • Sự hội tụ của phương pháp Runge-Kutta nửa hiện

                • Tính ổn định tuyệt đối của phương pháp Runge-Kutta nửa hiện

                • Phương pháp Runge-Kutta với bước lưới thay đổi giải phương trình vi phân đại số

                  • Phương pháp nhúng

                    • Phương trình vi phân đại số không có tính lạ

                    • Phương trình vi phân đại số không có tính lạ và có cấu trúc

                    • Thử nghiệm số

                    • Kết luận

                    • Tài liệu tham khảo

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

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

Tài liệu liên quan