Phương pháp euler giải phương trình vi phân và phương trình vi phân đại số

89 1.5K 1
Phương pháp euler giải phương trình vi phân và 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

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI NGUYỄN THỊ QUẾ PHƯƠNG PHÁP EULER GIẢI PHƯƠNG TRÌNH VI PHÂN VÀ PHƯƠNG TRÌNH VI PHÂN ĐẠI SỐ Chuyên ngành: Toán giải tích Mã số: 60 46 01 02 LUẬN VĂN THẠC SĨ TOÁN HỌC Người hướng dẫn khoa học: PGS. TS. TẠ DUY PHƯỢNG HÀ NỘI, 2014 Lời cảm ơn Tác giả xin chân thành cảm ơn PGS.TS.Tạ Duy Phượng (Viện Toán học), người Thầy hướng dẫn tác giả hoàn thành Luận văn này. Trong suốt thời gian qua Thầy không quản ngại khó khăn nhiệt tình dạy, giúp đỡ để em hoàn thành Luận văn này. Xin cảm ơn trường Đại học Sư phạm Hà Nội 2, phòng Sau đại học nơi tác giả hoàn thành chương trình cao học giảng dạy nhiệt tình Thầy cô. Và xin gửi lời cảm ơn sâu sắc đến Gia đình, bạn bè bên, thông cảm, tạo điều kiện tốt cho để hoàn thành Luận văn này. Hà Nội, tháng năm 2014 Tác giả Nguyễn Thị Quế Lời cam đoan Tôi xin cam đoan số liệu kết nghiên cứu Luận văn trung thực không trùng lặp với đề tài khác. Tôi xin cam đoan giúp đỡ cho việc thực Luận văn cảm ơn thông tin trích dẫn Luận văn rõ nguồn gốc. Hà Nội, tháng năm 2014 Tác giả Nguyễn Thị Quế Mục lục Mở đầu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chương 1. Phương pháp Euler Euler cải biên giải phương trình, hệ phương trình vi phân thường . . . . . . . . . . . . . . . . . . 1.1. Phép nội suy toán cầu phương . . . . . . . . . . . . . . . 1.1.1. Phép nội suy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1.2. Qui tắc cầu phương . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2. Bài toán Cauchy phương trình vi phân cấp một. . . . . . . 12 1.3. Phương pháp Euler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 1.3.1. Định lí tồn nghiệm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 1.3.2. Phương pháp đường gấp khúc Euler. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 1.3.3. Phương pháp xấp xỉ tích phân . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 1.4. Phương pháp Euler cải tiến (Phương pháp Heun) . . . . . . . . . 21 1.5. Giải số phương trình vi phân thường phương pháp Euler Euler cải tiến . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 1.6. Phương pháp Euler cho hệ phương trình . . . . . . . . . . . . . . . . . . 34 1.7. Ổn định sai số phương pháp Euler . . . . . . . . . . . . . . . . . 41 1.7.1. Bậc xấp xỉ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 1.7.2. Tính ổn định . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 1.7.3. Tính hội tụ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 1.7.4. Ước lượng sai số . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Chương 2. Phương pháp số giải phương trình vi phân đại số 49 2.1. Phương trình vi phân đại số . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 2.1.1. Định nghĩa phương trình vi phân đại số . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 2.1.2. Phương trình vi phân đại số số . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 2.1.3. Phương trình vi phân đại số tuyến tính . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 2.2. Một số đặc thù phương trình vi phân đại số . . . . . . . . . . 52 2.3. Phương pháp Euler giải phương trình vi phân đại số . . . . . . 60 Phụ lục . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 Kết luận . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 Tài liệu tham khảo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 Mở đầu 1. Lí chọn đề tài Những phương trình vi phân giải cầu phương (tìm công thức nghiệm hiển) ít. Vì phương trình vi phân phát triển theo hai hướng: Lí thuyết định tính nghiên cứu tính chất nghiệm theo liệu đầu vào (vế phải phương trình, điều kiện ban đầu, điều kiện biên, tham số,. . . ) Giải số phương trình vi phân (tìm nghiệm xấp xỉ). Phương pháp đường gấp khúc Euler phương pháp cổ điển (classical methods) giải số phương trình vi phân. Do độ hội tụ thấp nên phương pháp Euler áp dụng so với phương pháp RungeKutta. Tuy nhiên, gần đây, S. Smale (1981) phát mối quan hệ hữu phương pháp Newton giải hệ phương trình phi tuyến với phương pháp Euler giải hệ phương trình vi phân. Điều gợi quan tâm phương pháp Euler. Có nhiều cách giải thích phương pháp Euler (tiếp tuyến đường cong nghiệm, xấp xỉ đạo hàm, khai triển Taylor,. . . ). Trong [1] giải thích phương pháp Euler trường hợp riêng toán xấp xỉ tích phân. Cách tiếp cận cho phép hiểu thống phương pháp Euler cải biên tranh chung phương pháp giải hệ phương trình vi phân thường. Do nhu cầu toán kĩ thuật, công nghệ kinh tế (hệ rôbôt, hệ hóa học vật lí phức tạp, hệ điều khiển kinh tế,. . . ), năm 1980 trở lại đây, lí thuyết phương trình vi phân đại số quan tâm mạnh mẽ. Phương pháp Euler sử dụng cải biên để giải hệ phương trình vi phân đại số. 2. Mục đích nghiên cứu Luận văn có mục đích trình bày tổng quan phương pháp Euler cải tiến giải phương trình vi phân thường phương trình vi phân đại số. Ngoài ra, Luận văn trình bày thực hành tính toán số ví dụ giải phương trình, hệ phương trình vi phân phương pháp Euler Maple 16 máy tính điện tử khoa học. Luận văn gồm hai chương. Chương Trình bày tổng quan phương pháp Euler, Euler cải tiến giải phương trình, hệ phương trình vi phân thường. Các phương pháp so sánh minh họa qua thực hành tính toán máy tính Vinacal 570ES PLUS chương trình Maple. Có thể coi quy trình chương trình Luận văn chương trình mẫu để giải phương trình vi phân thường nào. Điều thực nhiều phương trình cụ thể. Chương Trình bày phương pháp Euler giải phương trình vi phân ẩn F (t, x, x ) = phương trình vi phân đại số dạng   x = f (t, x, y),  = g(t, x, y). 3. Nhiệm vụ nghiên cứu Luận văn có hai nhiệm vụ: 1) Nghiên cứu phương pháp Euler giải phương trình, hệ phương trình vi phân thường phương trình vi phân đại số. 2) Thực hành tính toán máy giải phương trình, hệ phương trình vi phân thường phương pháp Euler. 4. Đối tượng phạm vi nghiên cứu Đối tượng nghiên cứu: Nghiên cứu phương pháp số giải phương trình, hệ phương trình vi phân thường phương trình vi phân đại số. Phạm vi nghiên cứu: Các tài liệu liên quan đến phương pháp số giải phương trình, hệ phương trình vi phân thường phương trình vi phân đại số. 5. Đóng góp luận văn Hy vọng Luận văn tài liệu tổng quan tham khảo tốt cho sinh viên học viên cao học phương pháp Euler giải phương trình, hệ phương trình vi phân thường phương trình vi phân đại số. 6. Phương pháp nghiên cứu Sử dụng kiến thức công cụ giải tích, giải tích số, giải tích hàm, giải tích phức, . . . để tiếp cận giải vấn đề. Thu thập, nghiên cứu tổng hợp tài liệu liên quan, đặc biệt báo sách vấn đề mà luận văn đề cập tới. Chương Phương pháp Euler Euler cải biên giải phương trình, hệ phương trình vi phân thường 1.1. Phép nội suy toán cầu phương 1.1.1. Phép nội suy Trong toán thực tế, ta thường đo giá trị hàm số y = f (t) số điểm ti , i = 1, . . . , n t khoảng [a, b] đó. Thí dụ, dân số nước ta biết theo điều tra dân số vào năm 1960, 1980, 1995, 2009. Không có biểu thức toán học xác cho phép tính số dân năm đó. Do ta tính số dân năm khác (thí dụ, 2000, 2010, 2020,. . .) cách giải tích. Tuy nhiên, sử dụng phép nội suy, ta tính (xấp xỉ) số dân năm đó. Có thể, công thức toán học hàm số y = f (t) biết, cồng kềnh, không thuận tiện (tốn thời gian nhớ) tính toán giá trị (chính xác) điểm cụ thể. Dùng phép nội suy ta dễ dàng tính giá trị (gần đúng) hàm y = f (t) điểm đoạn [a, b]. Hơn nữa, phép nội suy cho phép ta tính gần đạo hàm, tích phân,. . . hàm số y = f (t) đoạn [a, b]. Bài toán nội suy tổng quát phát biểu sau. Giả sử công thức giải tích hàm số y = f (t) biết bảng giá trị y điểm ti , i = 1, . . . , n, tức ta biết giá trị yi = f (ti ), i = 1, . . . , n. Ngoài ta thông tin thêm hàm y = f (t). Bài toán đặt là: Tìm giá trị y(= f (t)) vị trí t¯ đó. Giá trị y t¯ bảng nội suy cho trước (t¯ = ti , i = 1, . . . , n.). Có nhiều phương pháp để xác định giá trị y t¯. Các phương pháp có chung cách giải, là: “Tìm hàm theo giá trị bảng nội suy xấp xỉ hàm f (t)”. Hàm xấp xỉ thường chọn cho đơn giản dễ tính toán. Hàm xấp xỉ đa thức, hàm mũ, hàm lượng giác, chuỗi Taylor, chuỗi Fourie,. . . . Khi hàm xấp xỉ ϕ(t) đa thức đại số phép nội suy tương ứng gọi nội suy đa thức đại số. Dưới ta xem xét phép nội suy đa thức đại số. Nội suy đa thức đại số Đa thức đại số hàm thuận tiện sử dụng (bất biến phép cộng, nhân, lấy tích phân đạo hàm, . . . , tức sau phép toán áp dụng vào đa thức ta kết đa thức). Hơn nữa, hàm liên tục xấp xỉ (địa phương) đa thức. Thật vậy, ta có Định lý 1.1.1. Giả sử hàm f (t) liên tục đoạn [a, b]. Khi với > cho trước tồn đa thức P (t) cho |f (t) − P (t)| < với t ∈ (a, b). Định lí nói rằng, đa thức nội suy P (t) nằm -ống có trục 69 h > y:= proc (n) option remember; y(n − 1) + f (x(n − 1), y(n − 1)) h + f (x(n), y(n − 1) + h · f (x(n), y(n − 1))) end; y :=proc(n) option remember; y(n − 1) + 1/2 ∗ h ∗ f (x(n − 1), y(n − 1)) + 1/2 ∗ h ∗ f (x(n), y(n − 1) + h ∗ f (x(n − 1), y(n − 1))) end proc > y(0) := 1; y(0) := (5 · X + 1) , Y (0) = 1}, (Y (X))); > Sol := dsolve({dif f (Y (X), X) = (3 − Y (X)) Sol := Y (X) = − 16 − 10X − 8X > assign(Sol); > array([seq([n, y(n), evalf (subs(X = n 100 , Y (X)))], n = 10)]); 1.000000000 1.005006278 1.005006272 1.010025251 1.010025226 1.015057242 1.015057186 1.020102729 1.020102628 1.025162348 1.025162190 1.030236892 1.030236664 1.035327317 1.035327006 1.040434742 1.040434333 1.045560451 1.045559934 10 1.050705897 1.050705255 70 Ví dụ 4. Giải phương trình y = 2xy − x2 , y(0) = theo phương pháp Euler cải tiến với h = 0.02 [0, 1]. Giải > x := x ; y := y ; > f := (x, y) → · x · y − x2 ; f := (x, y) → · x · y − x2 > h := 0.02; h := 0.02 > x:n→n·h x := n → nh h > y:= proc (n) option remember; y(n − 1) + f (x(n − 1), y(n − 1)) h + f (x(n), y(n − 1) + h · f (x(n), y(n − 1))) end; y :=proc(n) option remember; y(n − 1) + 1/2 ∗ h ∗ f (x(n − 1), y(n − 1)) + 1/2 ∗ h ∗ f (x(n), y(n − 1) + h ∗ f (x(n − 1), y(n − 1))) end proc > y(0) := 1; y(0) := > Sol := dsolve({dif f (Y (X), X) = 2·X·Y (X)−X , Y (0) = 1}, (Y (X))); 1 2√ Sol := Y (X) = X − eX πerf (X) + eX 71 > assign(Sol); > array([seq([n, y(n), evalf (subs(X = n 50 , Y (X)))], n = 10)]); 1.000396000 1.000397413 1.001577109 1.001579934 1.003530148 1.003534384 1.006243771 1.006249420 1.009708433 1.009715497 1.013916363 1.013924848 1.018861548 1.018871463 1.024539721 1.024551077 1.030948353 1.030961166 10 1.038086660 1.038100949 Ví dụ 5. Giải phương trình y = sin(2x) + cos(x), y(0) = theo phương pháp Euler cải tiến với h = 0.01 [0, 1] so sánh với giá trị phương trình. Giải > x := x ; y := y ; > f := (x, y) → · sin(2 · x) + cos(x); f := (x, y) → sin(2 · x) + cos(x) > h := 0.01; h := 0.01 > x:n→n·h x := n → nh 72 h > y:= proc (n) option remember; y(n − 1) + f (x(n − 1), y(n − 1)) h + f (x(n), y(n − 1) + h · f (x(n), y(n − 1))) end; y :=proc(n) option remember; y(n − 1) + 1/2 ∗ h ∗ f (x(n − 1), y(n − 1)) + 1/2 ∗ h ∗ f (x(n), y(n − 1) + h ∗ f (x(n − 1), y(n − 1))) end proc > y(0) := 1; y(0) := > > Sol := dsolve({dif f (Y (X), X) = · sin(2 · X) + cos(X), Y (0) = 1}, (Y (X))); Sol := Y (X) = − cos(2X) + sin(X) + 2 > assign(Sol); 73 > array([seq([n, y(n), evalf (subs(X = n 100 , Y (X)))], n = 10)]); 1.000000000 1.010299730 1.010299823 1.021198300 1.021198507 1.032694350 1.032694690 1.044786281 1.044786775 1.057472255 1.057472921 1.070750194 1.070751052 1.084617782 1.084618853 1.099072466 1.099073769 1.114111455 1.114113010 10 1.129731723 1.129733550 Ví dụ 6. Giải phương trình y y = 3x − , x y(1) = theo phương pháp Euler cải tiến với h = 0.1 [1, 2] so sánh với giá trị phương trình. Giải > x := x ; y := y ; y > f := (x, y) → · x − ; x f := (x, y) → 3x − > h := 0.1; h := 0.1 > x:n→1+n·h x := n → + nh y x 74 h > y:= proc (n) option remember; y(n − 1) + f (x(n − 1), y(n − 1)) h + f (x(n), y(n − 1) + h · f (x(n), y(n − 1))) end; y :=proc(n) option remember; y(n − 1) + 1/2 ∗ h ∗ f (x(n − 1), y(n − 1)) + 1/2 ∗ h ∗ f (x(n), y(n − 1) + h ∗ f (x(n − 1), y(n − 1))) end proc > y(1) := 2; y(1) := > Y (X) , Y (1) = 2}, (Y (X))); X X3 + Sol := Y (X) = X > Sol := dsolve({dif f (Y (X), X) = · X − > assign(Sol); > array([seq([n, y(n), evalf (subs(X = n 100 , Y (X)))], n = 10)]); 2.119090909 2.164583333 2.273333333 2.359230769 2.459230769 2.359230769 2.459230769 2.581785714 2.674285714 2.830666666 2.916666667 3.104687499 3.185000000 3.402941176 3.478235294 3.724722222 3.795555556 4.069473684 4.136315789 10 4.136315789 4.500000000 75 Ví dụ 7. Giải phương trình y = y + ex , y(0) = theo phương pháp Euler cải tiến với h = 0.01 [0, 1] so sánh với giá trị phương trình. Giải > x := x ; >y := y ; > f := (x, y) → y + exp(x); f := (x, y) → y + ex > h := 0.01; h := 0.01 > x:n→n·h x := n → nh h > y:= proc (n) option remember; y(n − 1) + f (x(n − 1), y(n − 1)) h + f (x(n), y(n − 1) + h · f (x(n), y(n − 1))) end; y :=proc(n) option remember; y(n − 1) + 1/2 ∗ h ∗ f (x(n − 1), y(n − 1)) + 1/2 ∗ h ∗ f (x(n), y(n − 1) + h ∗ f (x(n − 1), y(n − 1))) end proc > y(0) := 1; y(0) := > > Sol := dsolve({dif f (Y (X), X) = Y (X)+exp(X), Y (0) = 1}, (Y (X))); Sol := Y (X) = (X + 1)eX 76 > assign(Sol); > array([seq([n, y(n), evalf (subs(X = n 100 , Y (X)))], n = 10)]); 1. 1.020150251 1.020150669 1.040604521 1.040605367 1.061366886 1.061368170 1.082441472 1.082443205 1.103832458 1.103834651 1.125544076 1.125546740 1.147580609 1.147583754 1.169946396 1.169950033 1.192645828 1.192649970 10 1.215683354 1.215688010 Ví dụ 8. Giải phương trình y = 2y + (x + 1)3 , x+1 y(0) = theo phương pháp Euler cải tiến với h = 0.01 [0, 1] so sánh với giá trị phương trình. Giải > x := x ; y := y ; 2·y > f := (x, y) → + (x + 1)3 ; x+1 f := (x, y) → 2y + (x + 1)3 x+1 > h := 0.01; h := 0.01 > x:n→n·h x := n → nh 77 h > y:= proc (n) option remember; y(n − 1) + f (x(n − 1), y(n − 1)) h + f (x(n), y(n − 1) + h · f (x(n), y(n − 1))) end; y :=proc(n) option remember; y(n − 1) + 1/2 ∗ h ∗ f (x(n − 1), y(n − 1)) + 1/2 ∗ h ∗ f (x(n), y(n − 1) + h ∗ f (x(n − 1), y(n − 1))) end proc > y(0) := 1; y(0) := > > Sol := dsolve({dif f (Y (X), X) = · Y (X) +(X+1)3 , Y (0) = 1}, (Y (X))); X +1 Sol := Y (X) = ( X + X + 1)(X + 1)2 > assign(Sol); > array([seq([n, y(n), evalf (subs(X = n 1000 , Y (X)))], n = 10)]); 1. 1.003003500 1.003003502 1.006014012 1.006014016 1.009031548 1.009031554 1.012056120 1.012056128 1.015087740 1.015087750 1.018126420 1.018126433 1.021172172 1.021172187 1.024225008 1.024225026 1.027284940 1.027284961 10 1.027284961 1.030352005 78 Ví dụ 9. Giải phương trình y2 y y = ln x − , x x y(1) = theo phương pháp Euler cải tiến với h = 0.5 [1, 10] so sánh với giá trị phương trình. Giải y y2 · ln(x) − ; > f := (x, y) → x x y2 y f := (x, y) → · ln(x) − x x > h := 0.5; h := 0.5 > x:n→1+n·h x := n → + nh h > y:= proc (n) option remember; y(n − 1) + f (x(n − 1), y(n − 1)) h + f (x(n), y(n − 1) + h · f (x(n), y(n − 1))) end; y :=proc(n) option remember; y(n − 1) + 1/2 ∗ h ∗ f (x(n − 1), y(n − 1)) + 1/2 ∗ h ∗ f (x(n), y(n − 1) + h ∗ f (x(n − 1), y(n − 1))) end proc > y(1) := ; y(1) := > Y (X) Y (X) > Sol := dsolve({dif f (Y (X), X) = · ln(X) − , Y (1) = X X 79 }, (Y (X))); Sol := Y (X) = 1 + X + ln(X) > assign(Sol); > array([seq([n, evalf (y(n)), evalf (subs(X = 1+0.5·(n−1), Y (X)))], n = 10)]); 0.5000000000 0.5000000000 0.3993484631 0.3441789740 0.3403396412 0.2707717703 0.3003472871 0.2264343678 0.2708893286 0.1961317989 0.2479882436 0.1738295156 0.2295006768 0.1565853284 0.2141558145 0.1427739791 0.2011455597 0.1314157513 10 0.1899277950 0.1218806463 Ví dụ 10. Giải hệ phương trình  dy     dx = zx − yx dz dx = zx + yx     y(0) = 1, z(0) = theo phương pháp Euler cải tiến với h = 0.01 [0, 1] so sánh với giá trị hệ phương trình. Giải > f := f ; g := g ; x := x ; y := y ; h := h ; > f := (x, y, z) → (z − y) · x; f := (x, y, z) → (z − y)x 80 > g := (x, y, z) → (z + y) · x; g := (x, y, z) → (z + y)x > h := 0.01; h := 0.01 > x:n→n·h x := n → nh h > y:= proc (n) option remember; y(n − 1) + · f (x(n − 1), y(n − h 1), z(n − 1)) + f (x(n), y(n − 1) + h · f (x(n − 1), y(n − 1), z(n − 1)), z(n − 1) + h · g(x(n − 1), y(n − 1), z(n − 1))) end; y :=proc(n) option remember; y(n − 1) + 1/2 ∗ h ∗ f (x(n − 1), y(n − 1), z(n − 1)) + 1/2 ∗ h ∗ f (x(n), y(n − 1) + h ∗ f (x(n − 1), y(n − 1), z(n − 1)), z(n − 1)) + h ∗ g(x(n − 1), y(n − 1), z(n − 1)) end proc > y(0) := 1; y(0) := > h > z:= proc (n) option remember; z(n−1)+ ·g(x(n−1), y(n−1), z(n− h 1)) + g(x(n), y(n − 1) + h · f (x(n − 1), y(n − 1), z(n − 1)), z(n − 1) + 81 h · g(x(n − 1), y(n − 1), z(n − 1))) end; z :=proc(n) option remember; z(n − 1) + 1/2 ∗ h ∗ g(x(n − 1), y(n − 1), z(n − 1)) + 1/2 ∗ h ∗ g(x(n), y(n − 1) + h ∗ f (x(n − 1), y(n − 1), z(n − 1)), z(n − 1)) + h ∗ g(x(n − 1), y(n − 1), z(n − 1)) end proc > z(0) := 1; z(0) := > dsolve({dif f (Y (X), X) = Z(X) · X − Y (X) · X, dif f (Z(X), X) = Z(X) · X + Y (X) · X, Y (0) = 1, Z(0) = 1}{Y (X), Z(X)}); √ √ √ √ {Y (X) = cosh( X 2), Z(X) = sinh( X 2) + cosh( X 2)} 2 √ √ √ √ > Y (X) := cosh( X 2); Z(X) := sinh( X 2) + cosh( X 2); 2 √ Y := X → cosh( X 2) 2√ √ 2√ Z := X → sinh( X 2) + cosh( X 2) 2 > array([seq([x(i), y(i), evalf (subs(x = x(i), Y (x))), z(i), evalf (subs(x = 82 x(i), Z(x)))], i = 10)]); 0.01 1.000000002 1.000100002 0.02 1.000000040 1.0002 1.000400040 0.03 1.00000004 1.000000203 1.00060004 1.000900203 0.04 1.000000220 1.000000640 1.001200220 1.001600640 0.05 1.000000700 1.000001563 1.002000700 1.002501564 0.06 1.000001700 1.000003240 1.003001701 1.003603244 0.07 1.000003500 1.000006003 1.004203503 1.004906013 0.08 1.000006440 1.000010240 1.005606448 1.006410262 0.09 1.000010920 1.000016403 1.007210938 1.008116447 0.10 1.000017400 1.000025000 1.009017438 1.010025083 Kết luận Luận văn trình bày phương pháp Euler trường hợp riêng toán xấp xỉ tích phân. Cách tiếp cận cho phép hiểu thống phương pháp Euler cải biên tranh chung phương pháp giải hệ phương trình vi phân thường. Đồng thời ứng dụng phương pháp Euler Euler cải tiến để giải phương trình, hệ phương trình Maple 16 máy tính điện tử khoa học. Điều giúp hình dung cách tổng quan phương pháp Euler mặt phương pháp lẫn thực hành tính toán thực tế. Các ví dụ việc thực hành tính toán máy chứng tỏ giải phương trình vi phân phương pháp số dễ dàng thực phương diện thuật toán, lập trình tính toán máy. Trong trình trình bày kết trên, phải tính toán tỉ mỉ, chi tiết để đối chiếu, so sánh rút kết luận cần thiết. Luận văn trình bày sơ lược phương trình vi phân đại số phương pháp Euler việc giải phương trình vi phân đại số. Tiếc đủ thời gian để nghiên cứu sâu phương trình vi phân đại số. Hy vọng vấn đề tiếp tục nghiên cứu thời gian tới. 83 Tài liệu tham khảo [1] Tạ Duy Phượng, Giáo trình Giải tích số cho học viên cao học (Bản thảo), Viện Toán học, 2013. [2] Trần Văn Trản, Phương pháp số thực hành, Nhà xuất Đại học Quốc gia Hà Nội, 2007, trang 360-390. [3] Uri M. Ascher and Linda R. Petzold, Computer Methods for Ordinary Differential Equations and Differential-Algebraic Equations, SIAM, Filadelphia, USA, 1998, pp. 231-260. [4] Lamour Rene, Marz Rorwitha, Tischendorf Caren, DifferentialAlgebraic Equations: A Projector Based Analysic, Springer, 2013, pp. 340-345. [5] C.William, Numerical Initial Value Problems in Ordinary Differential Equations, Prentice Hall, New Jork, USA, 1971, pp. 1-23. 84 [...]... thường bằng phương pháp Euler và Euler cải tiến Mục này trình bày các ví dụ giải số phương trình vi phân thường theo phương pháp Euler và Euler cải tiến trên máy tính điện tử Ví dụ 1.5.1 Dùng phương pháp Euler, Euler cải tiến với bước lặp h = dy 0.1 và h = 0.05 để tìm nghiệm xấp xỉ của phương trình = xy thỏa dx mãn điều kiện ban đầu y(0) = 1 So sánh nghiệm gần đúng với nghiệm chính xác 23 Giải Theo... chính xác hơn phương pháp Euler tiến Nhưng phương pháp Euler tiến là phương pháp hiển (explicit method), tức là xi được tính thông qua xi−1 một cách trực tiếp, còn phương pháp Euler lùi là phương pháp ẩn (implicit method): để tính đươc xi ta phải giải một phương trình phi tuyến, vì vậy phương pháp Euler lùi khó sử dụng hơn t+h f (s, x(s))ds bởi diện tích hình thang ABED : Nếu xấp xỉ tích phân t t+h f... của phương trình vi phân (1.2.1)-(1.2.2) trên khoảng (a, b) là một hàm vectơ có các thành phần khả vi liên tục thỏa mãn phương trình (1.2.1) với mọi t ∈ (a, b) và điều kiện ban đầu (1.2.2) Ta thấy phương trình (1.2.1)-(1.2.2) tương đương với phương trình tích phân t x(t) = x0 + f (s, x(s))ds, (1.2.3) t0 theo nghĩa mọi nghiệm của phương trình (1.2.1)-(1.2.2) cũng là nghiệm khả vi liên tục của phương trình. .. thức sai phân xi = xi−1 + h.f (ti , xi ) (1.3.5) Phương pháp tính theo công thức này được gọi là phương pháp Euler lùi (backward Euler method) 20 Để tính giá trị xi , phương pháp Euler tiến sử dụng hệ số góc của tiếp tuyến tại điểm ti−1 (tức là giá trị x (ti ) = f (ti , xi )), còn phương pháp Euler lùi sử dụng hệ số góc tiếp tuyến tại điểm ti (tức là giá trị x (ti ) = f (ti , xi )) Phương pháp Euler. .. của phương pháp Euler cải tiến phụ thuộc vào hai tính toán: x∗ = xi−1 + h.f (ti−1 , xi−1 ) i f (ti−1 , xi−1 ) + f (ti , x∗ ) i h xi = xi−1 + 2 Từ công thức trên ta suy ra: 1 1 xi = xi−1 + h.f (ti−1 , xi−1 ) + h.f (ti , xi−1 + h.f (ti−1 , xi−1 )) 2 2 (1.4.1) Công thức trên là công thức hiển tính xi theo xi−1 và được gọi là Phương pháp Euler cải tiến (Phương pháp Heun) 1.5 Giải số phương trình vi phân. .. thức sai phân: h xi = xi−1 + [f (ti−1 , xi−1 ) + f (ti , xi )] 2 (1.3.6) Phương pháp dựa trên công thức này được gọi là phương pháp hình thang (trapezium method, trapezoidal method) Phương pháp hình thang cũng 21 là một phương pháp ẩn Như vậy, có thể thấy, hầu hết các phương pháp Euler quen thuộc đều có thể xem như một trường hợp đặc biệt của phương pháp xấp xỉ tích phân (theo công thức cầu phương cơ... minh Xem, thí dụ, [1] 1.3.2 Phương pháp đường gấp khúc Euler Để giải phương trình vi phân (1.3.1) thỏa mãn điều kiện ban đầu (1.3.2) ta có thể dùng phương pháp đường gấp khúc Euler với giá trị xi xấp xỉ của nghiệm x(ti ) tại các điểm ti như sau Theo Định lí 1.3.1, nếu f (t, x) liên tục trên đoạn [a, b] thì tồn tại b H = min(a, M ), trong đó M = max |f (t, x)| sao cho phương trình (t,x)∈D (1.3.1)-(1.3.2)... f (y(t), t) = t.y(t), y(0) = 1, t = 1, numsteps = 20, output = plot); Phương pháp Euler cải tiến Tương tự, hoàn toàn có thể giải phương trình vi phân đã cho theo phương pháp Euler cải tiến Thay vì khai báo công thức Euler, ta chỉ vi c khai báo công thức lặp trong phương pháp Euler cải tiến Với h = 0.1 [>x := x : [>y := y : [> f := (x, y)− > x ∗ y; f := (x, y) → xy [> h := 0.1; h := 0.1 28 [> x := n−... thuộc đều có thể xem như một trường hợp đặc biệt của phương pháp xấp xỉ tích phân (theo công thức cầu phương cơ bản) Điều này gợi ý xây dựng các phương pháp kiểu Euler từ công thức cầu phương cơ bản 1.4 Phương pháp Euler cải tiến (Phương pháp Heun) Phương pháp Euler có thể cải tiến nhờ độ dốc trung bình trong mỗi khoảng nhằm tăng tốc độ chính xác như sau Trước tiên, ta sử dụng tiếp tuyến của đường cong... x(ti )) = x (ti ) ≈ cách đi đến phương pháp Euler thực chất cũng chỉ là một: xấp xỉ nghiệm qua biểu thức đạo hàm của nó Công thức (1.3.3) có thể suy ra từ xấp xỉ tích phân như sau 1.3.3 Phương pháp xấp xỉ tích phân Giả sử x = x(t) là nghiệm của x = f (t, x) thỏa mãn điều kiện x(t0 ) = x0 Khi ấy ta có x (t) = f (t, x(t)) với mọi t đủ gần t0 Tích phân hai vế của phương trình trên từ t đến x + h với h . cứu phương pháp Euler giải phương trình, hệ phương trình vi phân thường và phương trình vi phân đại số. 2) Thực hành tính toán trên máy giải phương trình, hệ phương trình vi phân thường bằng phương. cho sinh vi n và học vi n cao học về phương pháp Euler giải phương trình, hệ phương trình vi phân thường và phương trình vi phân đại số. 6. Phương pháp nghiên cứu Sử dụng các kiến thức và công. phương pháp Euler. 4. Đối tượng và phạm vi nghiên cứu Đối tượng nghiên cứu: Nghiên cứu phương pháp số giải phương trình, hệ phương trình vi phân thường và phương trình vi phân đại số. Phạm vi nghiên

Ngày đăng: 11/09/2015, 15:15

Từ khóa liên quan

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

Tài liệu liên quan