Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 80 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
80
Dung lượng
900,76 KB
Nội dung
ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC KHOA HỌC Đào Xuân Tuấn PHƯƠNG PHÁP SỐ GIẢI PHƯƠNG TRÌNH VI PHÂN TUYẾN TÍNH VÀ PHI TUYẾN CẤP HAI Chun ngành: TỐN ỨNG DỤNG Mã số: 60 46 01 12 LUẬN VĂN THẠC SĨ TOÁN HỌC Thái Nguyên - 2015 ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC KHOA HỌC Đào Xuân Tuấn PHƯƠNG PHÁP SỐ GIẢI PHƯƠNG TRÌNH VI PHÂN TUYẾN TÍNH VÀ PHI TUYẾN CẤP HAI Chuyên ngành: TOÁN ỨNG DỤNG Mã số: 60 46 01 12 LUẬN VĂN THẠC SĨ TOÁN HỌC NGƯỜI HƯỚNG DẪN KHOA HỌC TS VŨ VINH QUANG Thái Nguyên - 2015 i MỤC LỤC MỤC LỤC i LỜI CẢM ƠN iv DANH SÁCH CÁC KÍ HIỆU v DANH SÁCH HÌNH VẼ vi DANH SÁCH BẢNG vii MỞ ĐẦU Chương 1: MỘT SỐ KIẾN THỨC CƠ BẢN VỀ PHƯƠNG TRÌNH VI PHÂN 1.1 Phương trình vi phân cấp 1.1.1 Bài tốn Cauchy định lí tồn nghiệm 1.1.2 Một số phương pháp tìm nghiệm giải tích 1.2 Phương trình vi phân cấp hai 12 1.2.1 Định lí tồn nghiệm 12 1.2.2 Một số phương pháp tìm nghiệm giải tích 13 1.2.2.1 Phương trình khuyết 13 1.2.2.2 Phương trình tuyến tính cấp hai 14 1.2.2.3 Phương trình vi phân tuyến tính 14 1.2.2.4 Phương pháp biến thiên số 17 1.3 Phương trình vi phân cấp cao 19 1.3.1 Định lí tồn nghiệm 19 1.3.2 Các phương trình giải cầu phương 20 1.3.3 Tích phân trung gian – phương trình hạ cấp 23 1.3.3.1 Tích phân trung gian 23 ii 1.3.3.2 Các trường hợp phương trình hạ cấp nhờ tích phân trung gian 24 1.3.3.3 Phương trình hàm đạo hàm 24 1.3.3.4 Phương trình mà vế trái đạo hàm 25 Chương 2: MỘT SỐ THUẬT TOÁN GIẢI SỐ PHƯƠNG TRÌNH VI PHÂN TUYẾN TÍNH VÀ PHI TUYẾN 26 2.1 Phương pháp sai phân 26 2.1.1 Lưới sai phân 26 2.1.2 Hàm lưới 27 2.1.3 Đạo hàm lưới 27 2.1.4 Quy ước viết vô bé 27 2.1.5 Công thức Taylor 28 2.1.6 Liên hệ đạo hàm hàm lưới 28 2.2 Một số phương pháp giải số phương trình vi phân cấp 30 2.2.1 Thuật toán Euler 30 2.2.2 Phương pháp Crank_Nicolson 33 2.2.3 Thuật toán RK4 34 2.2.4 Phương pháp đa bước Adams 35 2.2.5 Phương pháp Euler_Cauchy 37 2.3 Một số phương pháp số giải toán vi phân cấp hai 37 2.3.1 Thuật toán truy đuổi đường chéo 37 2.3.2 Phương trình vi phân tuyến tính cấp hai với hệ điều kiện biên 40 2.3.3 Phương trình vi phân phi tuyến cấp hai tổng quát với hệ điều kiện đầu 42 2.3.3.1 Sơ đồ sai phân dạng Runge_Kutta 42 2.3.3.2 Sơ đồ sai phân Nyström 44 iii Chương 3: MỘT SỐ KẾT QUẢ THỰC NGHIỆM 49 3.1 Các kết thực nghiệm phương trình cấp 49 3.1.1 Thuật toán Euler 49 3.1.2 Thuật toán Euler 51 3.1.3 Thuật toán Euler_Cauchy 52 3.1.4 Thuật toán RK_4 53 3.2 Các kết thực nghiệm phương trình cấp hai 55 3.2.1 Phương trình vi phân tuyến tính cấp hai với hệ điều kiện biên 55 3.2.2 Phương trình vi phân tuyến tính cấp hai với hệ điều kiện đầu 58 KẾT LUẬN 63 TÀI LIỆU THAM KHẢO 64 Phụ lục: MỘT SỐ CHƯƠNG TRÌNH NGUỒN 65 iv LỜI CẢM ƠN Luận văn thực hoàn thành với hướng dẫn, bảo tận tình TS Vũ Vinh Quang – Trường Đại học công nghệ thông tin truyền thông – Đại học Thái Nguyên Tôi xin bày tỏ lịng kính trọng biết ơn sâu sắc đến Thầy Tôi xin trân trọng gửi tới Thầy giáo, Cô giáo thuộc khoa Tốn – Tin, phịng Đào tạo – Trường Đại học khoa học – Đại học Thái Nguyên Thầy, Cô giáo tham gia giảng dạy khóa cao học 2013 – 2015 lời cám ơn sâu sắc Tôi xin cám ơn Sở giáo dục đào tạo tỉnh Quảng Ninh, Ban giám hiệu, đồng nghiệp Trường THPT Đông Triều – Quảng Ninh, gia đình, bạn bè, tạo điều kiện giúp đỡ, động viên, cổ vũ để tơi hồn thành nhiệm vụ Thái Nguyên, ngày 04 tháng 04 năm 2015 Đào Xuân Tuấn Học viên cao học lớp: Toán A Khóa: 06/2013 – 06/2015 Chun ngành: Tốn ứng dụng Trường ĐH khoa học – ĐH Thái Nguyên v DANH SÁCH CÁC KÍ HIỆU Trong luận văn có sử dụng số kí hiệu sau: W y1, y2 : Định thức Wronsky y1, y 1(x ) : Là nguyên hàm 1(x ) 2 (x ) : Là nguyên hàm 2 (x ) h : Là lưới sai phân x 0, X xi : Là nút lưới O h : Độ xác sai số tính tốn h : Là bước lưới ui u(x i ), i 0,1, , n : Hàm lưới u * (x ) : Nghiệm vi DANH SÁCH HÌNH VẼ Hình 3.1: Đồ thị nghiệm xấp xỉ theo thuật tốn RK_4 Hình 3.2: Đồ thị nghiệm xấp xỉ theo thuật tốn khử lặp Hình 3.3: Đồ thị nghiệm xấp xỉ theo thuật tốn Nystrưm dạng Hình 3.4: Đồ thị nghiệm xấp xỉ theo thuật tốn Nystrưm dạng vii DANH SÁCH BẢNG Bảng 2.1: Nyström bậc Bảng 2.2: Phương pháp cho y '' f (x , y ) , Nyström bậc Bảng 2.3: Phương pháp cho y '' f (x , y ) , Nyström bậc Bảng 3.1: Sai số phương pháp ứng với hàm nghiệm Bảng 3.2: Sai số phương pháp Euler_2 ứng với hàm nghiệm Bảng 3.3: Sai số phương pháp Euler_Cauchy ứng với hàm nghiệm Bảng 3.4: Sai số phương pháp RK_4 ứng với hàm nghiệm Bảng 3.5: Sai số phương pháp khử lặp ứng với hàm nghiệm Bảng 3.6: Sai số phương pháp Nyström dạng ứng với hàm nghiệm Bảng 3.7: Sai số phương pháp Nyström dạng ứng với hàm nghiệm MỞ ĐẦU Phương trình vi phân dạng tuyến tính phi tuyến tính lớp phương trình lý thuyết phương trình vi phân có ứng dụng quan trọng toán thực tế đặc biệt lý thuyết điều khiển ổn định Về mặt lý thuyết tổng quát lớp phương trình nhà toán học nghiên cứu từ lâu Tuy nhiên vấn đề tìm nghiệm giải tích phương trình thực phương trình dạng đặc biệt cịn chủ yếu phải xác định nghiệm xấp xỉ qua phương pháp gần Chính việc nghiên cứu lý thuyết phương pháp gần xây dựng chương trình máy tính điện tử tìm nghiệm số lớp phương trình có ý nghĩa mặt khoa học, mang tính ứng dụng cao Mục tiêu nghiên cứu luận văn tìm hiểu phương pháp sai phân đưa phương trình vi phân tuyến tính phi tuyến với hệ điều kiện ban đầu khác hệ phương trình sai phân đồng thời nghiên cứu số thuật tốn giải gần hệ phương trình sai phân để xác định nghiệm xấp xỉ phương trình vi phân, sở tiến hành xây dựng hệ thống hàm mẫu mô tả thuật tốn ngơn ngữ máy tính, thử nghiệm tính xác chương trình ví dụ cụ thể Cấu trúc luận văn gồm chương với nội dung sau: Chương 1: Luận văn trình bày số kiến thức phương trình vi phân, số phương pháp tìm nghiệm giải tích lớp phương trình cấp cấp cao Đây kiến thức làm tảng để nghiên cứu nội dung chương tiếp sau luận văn Chương 2: Trên sở phương pháp sai phân, luận văn trình bày số kết nghiên cứu mặt lý thuyết thuật tốn giải số phương trình vi phân cấp với điều kiện ban đầu phương trình vi phân cấp hai với hệ điều kiện biên Trên sở nghiên cứu thuật tốn giải số phương trình vi phân cấp hai Các kết lý thuyết tảng để xây dựng thuật tốn giải số phương trình vi phân chương luận văn 57 + Giải hệ đại số tuyến tính c u b u 0 a u c u b1u2 1 anun 1 cnun f1 f2 fn theo thuật toán truy đuổi để xác định vetor nghiệm u u 0, u1, , un Bước 5: Xác định sai số, đồ thị nghiệm xấp xỉ Kết xây dựng hàm PP _ KHU _ LAP (a, b, 0, 1, 0 , 1, n ) Việc đánh giá độ xác thuật toán cho bảng số liệu sau Bảng 3.5: Sai số phương pháp khử lặp ứng với hàm nghiệm u * (x ) x sin 2x , x 0,1 0 1, 1 2, 0 2, 1 Lưới sai phân Sai số phương pháp Lưới sai phân Sai số phương pháp 10 3,0.10-1 400 7,4.10-3 50 5,9.10-2 500 5,9.10-3 100 2,9.10-2 1000 2,9.10-3 200 1,4.10-2 10000 2,9.10-4 Nhận xét: Qua kết thực nghiệm thấy thuật tốn khử lặp giải số phương trình vi phân tuyến tính cấp hồn tồn với sai số mặt lý thuyết theo phương pháp sai phân với sai số O (h ) Thuật tốn cho phép giải số phương trình vi phân tuyến tính cấp hai Trong hình 3.2 đồ thị nghiệm xấp xỉ toán 58 p(x ) x 3x , q sin(x 4)cos(x 2) 10, f (x ) sin x cos x , 0 1, 1 2, 0 2, 1 Hình 3.2: Đồ thị nghiệm xấp xỉ theo thuật tốn khử lặp 3.2.2 Phương trình vi phân tuyến tính cấp hai với hệ điều kiện đầu Dạng 1: u '' f (x , u ), x a,b u(a ) A, u ' (a ) B Xuất phát từ sở phương pháp sai phân dạng Nystrưm, đưa thuật tốn giải tốn biên dạng với hệ điều kiện ban đầu sau: Thuật toán Input: a, b, f (x , u ), A, B, n Output: u (u 0, u1, , un ) Bước 1: Tính h b a n Bước 2: Xuất phát u(0) A; v(0) B Bước 3: Với i 0,1, , n 59 Tính giá trị: x i a ih; k1 f (x i , ui ); v k h k2 f (x i , ui h i h ); 2 k k f (x i h, ui hvi h 2 ); k k ui 1 ui hvi h ; k 4k2 k vi 1 vi h ; Bước 4: Xác định sai số, vẽ đồ thị nghiệm Kết thuật toán xây dựng hàm Cap_hai_01.m Việc đánh giá độ xác thuật toán cho bảng số liệu sau Bảng 3.6: Sai số phương pháp Nyström dạng ứng với hàm nghiệm u * (x ) x sin 2x, x 0,1 Lưới sai phân Sai số phương pháp Lưới sai phân Sai số phương pháp 10 2,0.10-5 400 3,9.10-12 50 1,6.10-8 500 1,5.10-12 100 1,0.10-9 1000 9,7.10-14 200 6,2.10-11 10000 1,9.10-14 Nhận xét: Qua kết thực nghiệm thấy thuật tốn Nystrưm dạng giải số phương trình vi phân phi tuyến cấp với hệ điều kiện ban đầu dạng khuyết đạt kết sai số tương đương với O (h ) 60 Thuật tốn cho phép giải số phương trình vi phân phi tuyến cấp hai dạng khuyết Trong hình 3.3 đồ thị nghiệm xấp xỉ toán dạng với hàm vế phải hệ điều kiện đầu f (x, u ) x x s inx u 2, u(0) 4, u '(0) 2, x 0,1 Hình 3.3: Đồ thị nghiệm xấp xỉ theo thuật tốn Nystrưm dạng Dạng 2: u '' f (x , u, u ' ), x a,b u(a ) A, u ' (a ) B Xuất phát từ sở phương pháp sai phân dạng Nyström, đưa thuật toán giải toán biên dạng với hệ điều kiện ban đầu sau: Thuật toán Input: a, b, f (x , u, u ' ), A, B, n Output: u (u 0, u1, , un ) Bước 1: Tính h b a n Bước 2: Xuất phát u(0) A; v(0) B Bước 3: Với i 0,1, , n 61 Tính giá trị: x i a ih; p1 vi ; k1 f (x i , ui , vi ); k1 p k h ; k2 f (x i , ui h i , vi h ); 2 2 k p k h p3 vi h ; k f (x i , ui h , vi h ); 2 2 p4 vi hk ; k4 f (x i h, ui hp3, vi k ); h ui 1 ui (p1 2p2 2p3 p4 ); h vi 1 vi (k1 2k2 2k3 k ); p2 vi h Bước 4: Xác định sai số, vẽ đồ thị nghiệm Kết thuật toán xây dựng hàm Cap_hai_2.m Việc đánh giá độ xác thuật tốn cho bảng số liệu sau Bảng 3.7: Sai số phương pháp Nyström dạng ứng với hàm nghiệm u *(x ) x sin x , x 0,1 , u(0) 0, u '(0) 0, f (x , u, u ' ) (42x 7x )s inx (14x x )cos x u u ' Lưới sai phân Sai số phương pháp Lưới sai phân Sai số phương pháp 10 1,0.10-4 400 6,3.10-11 50 2,6.10-7 500 2,6.10-11 100 1,6.10-8 1000 1,6.10-12 200 1,0.10-9 10000 2,8.10-15 Nhận xét: Qua kết thực nghiệm thấy thuật tốn Nystrưm dạng giải số phương trình vi phân phi tuyến cấp với hệ điều kiện ban đầu dạng tổng quát đạt kết sai số tương đương với O (h ) 62 Thuật toán cho phép giải số phương trình vi phân phi tuyến cấp hai dạng tổng quát Trong hình 3.4 đồ thị nghiệm xấp xỉ toán với hàm vế phải điều kiện ban đầu cho trước ' f (x , u, u ' ) x e x u e u , u(0) 0, u ' (0) 1, x 0,1 Hình 3.4: Đồ thị nghiệm xấp xỉ theo thuật tốn Nystrưm dạng 63 KẾT LUẬN Nội dung luận văn trình bày số kết vấn đề giải số phương trình vi phân tuyến tính phi tuyến tính cấp hai, kết đạt bao gồm: Trình bày tóm tắt số kiến thức phương trình vi phân cấp cấp cao, định lý tồn nghiệm, lớp phương trình phương pháp tìm nghiệm giải tích phương trình tương ứng Trên sở phương pháp sai phân, luận văn trình bày lược đồ sai phân tìm nghiệm số phương trình vi phân cấp với điều kiện ban đầu, phương trình vi phân tuyến tính cấp hai với hệ điều kiện biên tổng quát đưa sơ đồ sai phân cho phương trình vi phân phi tuyến tính cấp hai Đối với lược đồ sai phân, luận văn đưa vấn đề đánh giá sai số phương pháp tương ứng Trên sở kết đưa chương 2, luận văn đưa kết cài đặt thuật toán giải số máy tính điện tử, đánh giá tính đắn thuật tốn thơng qua việc đánh giá sai số Hướng phát triển thời gian tới đề tài tiếp tục nghiên cứu sâu phương pháp gần xây dựng chương trình máy tính điện tử tìm nghiệm số lớp phương trình lý thuyết phương trình vi phân có ứng dụng quan trọng tốn thực tế đặc biệt lý thuyết điều khiển ổn định có ý nghĩa mặt khoa học, mang tính ứng dụng cao Qua thời gian thực luận văn tốt nghiệp, thân nâng cao khả làm việc, nghiên cứu độc lập khả tìm hiểu, dịch, phân tích tổng hợp tài liệu tiếng nước ngồi Tuy nhiên khn khổ thời gian nghiên cứu không nhiều, nội dung luận văn khơng tránh khỏi sai sót nội dung hình thức Rất mong nhận ý kiến đóng góp thầy giáo, đồng nghiệp để luận văn hoàn thiện 64 TÀI LIỆU THAM KHẢO [1] Phạm Kỳ Anh (2000), Giải tích số, Nhà xuất Đại học Quốc gia Hà Nội [2] Tạ Văn Đĩnh (2005), Phương pháp sai phân phương pháp phần tử hữu hạn, Nhà xuất Khoa học Kỹ thuật [3] Trần Văn Nhung (1978), Phương trình vi phân, Nhà xuất Giáo dục [4] Haier E, Norsett S P, Wanner G (1993), Runge - Kutta and Extrapolation Methods,Solving Ordinary Differential Equations NonstiffProblem, XV, 528 p Softcover ISBN: 978-3-642-051 63-0 [5] Marchuk G I (1982), Methods ofNumerical Mathematics, Springer, New York [6] Samarskij A, Nikolaev E (1989), Numerical Methods for Grid Equations, Vol 2, Birkhauser, Basel 65 Phụ lục MỘT SỐ CHƯƠNG TRÌNH NGUỒN Thuật toán truy đuổi đường chéo function u=truyduoi(a,b,c,f,n) alpha(1)=-b(1)/c(1);beta(1)=f(1)/c(1); %Buoc xuoi for k=2:n-1; alpha(k)=-b(k)/(a(k)*alpha(k-1)+c(k)); beta(k)=(f(k)-a(k)*beta(k-1))/(a(k)*alpha(k-1)+c(k)); end; %Buoc nguoc u(n)=(f(n)-a(n)*beta(n-1))/(a(n)*alpha(n-1)+c(n)); for k=(n-1):-1:1; u(k)=alpha(k)*u(k+1)+beta(k); end; %%%%% Phương pháp Euler function euler_1=euler_1(a,b,n) clc; y(1)=u(a); h=(b-a)/n; % Tinh nghiem dung for i=0:n; x(i+1)=a+i*h; ud(i+1)=u(x(i+1)); end; for i=0:n-1; x(i+1)=a+i*h; y(i+2)=y(i+1)+h*f(x(i+1),y(i+1)); end; % Xac dinh sai so ss=0; for i=0:n; if ssepxilon; z1=y(i+1)+h*(f(x(i+1),y(i+1))+f(x(i+1)+h,z0))/2; z0=z1; end; y(i+2)=z1; end; 67 % Xac dinh sai so ss=0; for i=0:n; if ss