Luận văn phương pháp runge kutta giải phương trình vi phân thường và phương trình vi phân đại số

138 827 0
Luận văn phương pháp runge kutta giải phương trình vi phân thường 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 ĐẶNG THỊ HƯƠNG PHƯƠNG PHÁP RUNGE-KUTTA GIẢI PHƯƠNG TRÌNH VI PHÂN THƯỜNG VÀ PHƯƠNG TRÌNH VI PHÂN ĐẠI số LUẬN VĂN THẠC SĨ TOÁN HỌC Chuyên ngành: Toán Giải Tích Mã số : 60 46 01 02 Người hướng dẫn khoa học PGS. TS. Tạ Duy Phượng Hà Nội, 2014 Lời cảm ơn Luận văn hoàn thành hướng dẫn nhiệt tình nghiêm túc PGS. TS. Tạ Duy Phượng, xin bày tỏ lòng biết ơn tới Thầy, không hướng dẫn khoa học, mà động viên khích lệ tác giả say mê học tập nghiên cứu. Tôi xin bày tỏ lòng biết ơn chân thành tới phòng sau đại học, thầy cô giáo dạy cao học chuyên ngành Toán giải tích, trường Đại học Sư phạm Hà Nội giúp đỡ suốt trình học tập. Tôi xin bày tỏ lòng biết ơn tới Ban giám hiệu, cán bộ, giáo viên Khoa bản-Trường Sĩ quan Tăng thiết giáp tạo điều kiện thuận lợi tốt để hoàn thành tốt khóa học cao học. Cuối xin gửi lời cảm ơn chân thành tới gia đình, bạn bè, đồng nghiệp động viên, cổ vũ, giúp đỡ tạo điều kiện thuận lợi cho trình học tập hoàn thành luận văn. H N ộ i , t h n g n ă m Ậ Tác giả Đặng Thị Hương Lời cam đoan Tôi xin cam đoan, hướng dẫn PGS. TS. Tạ Duy Phượng, luận văn Thạc sĩ chuyên ngành Toán giải tích với đề tài Phương pháp Runge- Kutta giải phương trình vi phân thường phương trình vi phân đại số hoàn thành trường Đại học Sư phạm Hà Nội lao động tác giả. Trong trình nghiên cứu thực luận văn, tác giả kế thừa kết nhà khoa học với lòng biết ơn trân trọng nhất. Tất tài liệu sử dụng rõ nguồn gốc. H N ộ i , t h n g n ă m Ậ Tác giả Đặng Thị Hương Mục lục Mở đầu 1. Lí chọn đề tài Phương trình vi phân mô hình toán học trình chuyển động thường gặp tự nhiên kĩ thuật. Nghiên cứu 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, tham số, . . . ) phương pháp số phương trình vi phân (tìm nghiệm xấp xỉ). Phương pháp Runge-Kutta phương pháp cổ điển (classical methods) giải số phương trình vi phân. Do nhiều ưu điểm tốc độ hội tụ cao, lược đồ tính toán ổn định, phương pháp Runge-Kutta phương pháp phổ biến sử dụng giải toán kĩ thuật. Phương pháp Runge-Kutta xây dựng sở toán cầu phương bản. Cách tiếp cận cho phép xây dựng phương pháp Runge-Kutta tổng quát giải hệ phương trình vi phân. 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ế, .), gần lí thuyết phương trình vi phân đại số quan tâm mạnh mẽ. Phương pháp Runge-Kutta sử dụng cải biên để giải hệ phương trình vi phân đại số. Với mong muốn tìm hiểu sâu phương pháp Runge-Kutta giải phương trình vi phân, nhằm bổ sung nâng cao kiến thức học đại học cao học, đồng thời hy vọng sử dụng kiến thức giải số phương trình thực tiễn giảng dạy, chọn đề tài Phương pháp Runge-Kutta giải phương trình vi phân thường phương trình vi phân đại số làm luận văn cao học. Luận văn gồm hai chương phụ lục. Chương trình bày tổng quan phương pháp Runge-Kutta giải phương trình vi phân thường. Lần lượt phương pháp Runge-Kutta cấp 2, 3, trình bày, nhiên toán thực tiễn thường đòi hỏi tính toán theo phương pháp Runge-Kutta cấp cao hơn, nên phương pháp Runge- Kutta đến cấp trình bày đây. Chương trình bày phương pháp Runge-Kutta 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) V theo chương 9, trang 231-299 [ỉ], chương trang 345 [ J số tài liệu khác. 2. Mục đích nghiên cứu Trình bày tổng quan phương pháp Runge-Kutta cải tiến giải phương trình vi phân thường phương trình vi phân đại số. Thực hành tính toán số ví dụ giải phương trình vi phân phương pháp Runge-Kutta Maple 16. 3. Nhiệm vụ nghiên cứu Nghiên cứu phương pháp Runge-Kutta giải phương trình vi phân thường phương trình vi phân đại số. Thực hành tính toán máy giải phương trình vi phân thường phương pháp Runge-Kutta. 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 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 Runge-Kutta giải phương trình vi phân thường phương trình vi phân đại số. 5. 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 hàm, phương trình vi phân, giải tích số, . để 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. 6. Đóng góp đề tài 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 Runge-Kutta giải phương trình vi phân thường phương trình vi phân đại số. Chương Tổng quan phương pháp RungeKutta 1.1. Quy tắc cầu phương Quy tắc cầu phương (basic quadrature rules) coi phương pháp để tính tích phân. Vì giải phương trình vi phân x' = f(t, x), x G l , í G l , (1 .1 .1 ) với điều kiện ban đầu x ( t ) = X 0, (1.1.2) tương đương với việc giải phương trình tích phân í x(t)=x0 + Ị f(s,x(s))ds, (1.1.3) ío nên ta sử dụng quy tắc cầu phương để giải phương trình vi phân. Mục trình bày quán cách tìm công thức giải số phương trình vi phân nhờ quy tắc cầu phương bản. b Nội dung quy tắc cầu phương là: để tính tích phân Ị f(t)dt a ta thay f(t ) đa thức nội suy (interpolating polynomial). Tích phâncủa xấp xỉ tích phân hàm đa thức hàm (tính f(t ) xác).Giả sử có s điểm nội suy khác CI,C2, . ,Cg đoạn [ a,b] . Đa thức nội suy Lagrange bậc nhỏ s hàm f(t) thỏa mãn f(c j) = = , . . . , s, có dạng: s ¥>(*) = ^ ỉ { c j ) L Ả t ) 3=1 L j (t ) đa thức bậc n — xác định công thức ^*)= n.fcí- •1•/■^ Khi đó, b ỉ f(t)dt « a i=1 b trọng số W j tính theo công thức W j = /L j(t)d t. a Nếu = đa thức nội suy yr k( 0) := 1; 270 yr k( ) : = 12 > X :=' X'\Y :=' У' : 12 > dsolve({diff{X(T),T) = ■ X(T) + ■ Y(T),diff(Y(T),T) = X(T) + . Y(T), X(0) = 0, y (0) = 1}, {X(T), y(T)}); 271 {X(T) = -Le- > X{T ) : = -Ì--e~ T + i- D . 272 T + ị- exp(6 . T), Y(T) = ị.e-T + ị. e 0T} 6T X(T) = -ị-e- T + ị-e Í T >Y(T) '.= ^ • e~ T + y ■ e r ; 273 y(T) = ị • e- + z - ■ r > a r r a y ( [ s e g ( [ í ( ỉ ) , xrk(i), abs(xrk(i) — evaỉf(subs(t = t(i), X(t)))), evalf(subs(t = t(i), X(t))), yrk(i), abs(yrk(i)—evalf (subs(t = t(i),Y(t)))), evalf(subs(t = t(i),Y(t)))],i = . . ) ] ) ; 274 275 277 278 276 0. 279 0. 280 281282 0.52 283 0.00 284 0.52 285 1.5 286 0.2 287 1.2 0. 37500000 04107899 41607899 2375000 2579199 9795801 288289 1.54 290 0.11 291 1.42 292 2.5 293 0.6 294 1.8 0. 6286766 6923241 9363525 4628676 5553336 9075339 295296 3.54 297 0.50 298 3.03 299 4.5 300 1.5 301 3.0 0. 2623639 9006929 3616710 4262363 2659288 1603075 302303 7.44 304 1.52 305 5.91 306 8.4 307 3.3 308 5.1 0. 0146981 4229076 5917905 4014698 3288850 0725847 309310 15.0 311 3.91 312 11.1 313 16. 314 7.0 315 8.9 0. 4942796 856724 3086072 0494279 9475176 5467620 316317 29.9 318 9.30 319 20.5 320 30. 321 14. 322 15. 0. 0531256 564239 9967017 9053125 9067482 9985642 323324 58.9 325 21.0 326 37.8 327 59. 328 31. 329 28. 0. 0901316 8630131 2271185 9090131 0453939 8636191 330331 115. 332 46.3 333 69.1 334 116 335 64. 336 52. 0. 5340255 5626063 7776487 .5340255 2013728 3326526 337338 226. 339 99.7 340 126. 341 227 342 131 343 95. 0. 0851605 995339 2856266 .0851605 .9643709 1207896 344345 441. 346 211. 347 230. 348 442 349 269 350 17 1. 9182872 5977649 3205223 .9182872 .8100160 3.10827 351 352 V í d ụ . Giải hệ phương trình — = 0.2x — 0.32/ + 0.5 sin í — O.Olí dt dy 353 -y- = OAx + . y dt 354 phương pháp Runge-Kutta với h = . với điều kiện ban đầu a ; ( ) = , y ( ) = so sánh với giá trị hệ phương trình. 375 355 366 ■4 -i 367 376 356 Й?r xr k(0) := 0.2; 489xrk(0) := 0.2 490 yrk : = proc ( n ) local kl, ml, k2, m2, k3, m3, k4, m ; 491 option remember-, kl : = f(t(n — ),xrk(n — ),yrk(n — l));ml := 492--------------------------------------------------------------------- g{t(n — 1), xr k(n — 1), yr k(n — 1)); k2 := f(t(n — 1) -I-------------------------- h, xr k(n — 1) -I- - 442 + to 493CO Ih + to I hto to494 495+ to 496I h 5497 498 Й499 500 501+ 502to 503I 504h- f(t(n g-t- Э о *3 г+ - — О to to со 1)) со l),xrk(n s?5- 5r ЗГ- fö -Ỉ ч СВ га IS о + to ?*r + to ÌỈ 5t- -i ?s- f__l cs» в о- g(t(n — I h- -i ?г H ?r I + to I I- + to ^3S“ 'T 'О T' — := Й- to Ịs -i ?s- to + to Ih + to Ih + to I h l),xrk(n ml Э + to Ih IJ* — + to I h- to Й- := l),yrk(n + to Ih 5- 5055506 507 Ito dsolve{{diff{X(T),T) = . • X ( T ) - . • Y(T) + . • s m ( T ) , diff(Y(T), T) = A-X(T)+.1-Y(T),X(0) = . , y ( ) = } , {X(T), r(T)}); > array([seq([t(i), xrk(i), abs(xrk(ỉ) — evalf(subs(t = t(i), evaỉf(subs(t = t(i),X(t))),yrk(i),abs(yrk(i)—evaỉf(subs(t = t(i), Y ( í ) ) ) ) , evalf(subs(t = £ ( i ) , y ( í ) ) ) ] , i = . . ) ] ) ; 537 538 0.2 539 0. 540 0.2 541 542 0. 544545 0.17 546 0.00 547 0.17 548 0.97 549 0.04 0. 55277961 04574453 59852414 55277961 20672569 551552 0.15 553 0.00 554 0.15 555 0.95 556 0.07 0. 62454642 02611929 59842713 62454642 82364358 558559 0.14 560 0.00 561 0.14 562 0.94 563 0.10 0. 20254803 20034738 00220065 20254803 87899817 565566 0.13 567 0.00 568 0.12 569 0.93 570 0.13 0. 26922061 46224762 80697299 26922061 40599309 572573 0.12 574 0.00 575 0.12 576 0.92 577 0.15 0. 80236172 79783783 00452389 80236172 44240548 579580 0.12 581 0.01 582 0.11 583 0.92 584 0.17 0. 77534947 19399490 58135457 77534947 03015163 586587 0.13 588 0.01 589 0.11 590 0.93 591 0.18 0. 15740593 63859398 51881195 15740593 21481037 593594 0.13 595 0.02 596 0.11 597 0.93 598 0.19 0. 91390205 12063610 79326595 91390205 04511075 600601 0.15 602 0.02 603 0.12 604 0.95 605 0.19 0. 00670108 63036306 37633802 00670108 57238462 607608 0.16 609 0.03 610 0.13 611 0.96 612 0.19 1. 39453711 15935744 23517967 39453711 84999449 614 615 543 550 1.0 1759505 557 1.0 3448190 564 1.0 5081546 571 1.0 6675213 578 1.0 8244767 585 1.0 9805501 592 1.1 1372216 599 1.1 2959012 606 1.1 4579085 613 1.1 6244531 V í d ụ . Dùng phương phấp Runge-Kutta với h = . để tìm nghiệm xấp xỉ phương trình mô tả dao động lắc: 616 x" + sin X = 0, x(0) = 0, a/(0) = 1. 618 617 Giải Ta đưa phương trình vi phân cấp hai hệ phương trình cấp cách đặt x' = y, x" = y' = — sinx. Do ta có: 619 620 { 622 f ■= > y, Í 623 x' = y y' = — sin X f := > y g := ( t,x,y)~ > - sin(x) h := 0.1 t := n— > n * h ] 627 628 = - sin X g := ( t,x,y)~ > -sỉn(x)\ 625 626 y g{t,x,y) hay hệ phương trình vi phân tương ứng phương trình vi phân bậc cao là: 621 624 f(t,x,y) = t := Tí— > n * h xrk xrk'\ yrk yrk' : 629 xrk := proc (n) local kl, ml, k2, m2, k3, m3, k4,777,4; option remember; kl := f(t(n — l),xrk(n — l),yrk(n — l));ml := [...]... có phương pháp RungeKutta hiển tổng quát s-nấc (vì tại mỗi bước các giá trị x n được tính một cách trực tiếp (hiển) thông qua các giá trị trước đó).Phươn g pháp RungeKutta hiển CÓ biểu diễn hệ số sau: 1 0 0 0 C-2 ữ21 0 (1.2.6) ữsl CL g 2 0 bi ■ ■ ■ bs Hai phương pháp RungeKutta quan trọng thường hay được sử dụng là phương pháp RungeKutta bậc hai và phương pháp RungeKutta bậc bốn 1.2.3 P hương pháp RungeKutta... nghiệm của phương trình vi phân là Hình 1.5: x(t + h)~ x(t) = ^[/(í, x(t)) + 4 f(t + x { t + ^)) + f(t + h,x(t + ft))] và công thức sai phân xN + 1 xn = ^[f(tn, xn) + 4 f(tn + ^,x(tn + ^)) + f(tn+ux n+1)] Đây là công thức ẩn của phươ ng pháp Rung eKutta kinh điển cấp bốn (clas sical fourt horder Rung eKutta meth od) 1.2 P hương pháp RungeKutta 1.2.1 n Dẫ tới phương pháp RungeKutta Vì phương pháp ẩn đòi... 2, X n ^ —2^’ k ị = f(tn,xn + hk3) 1.2.2 Ph ương pháp RungeKutta tổng quát Xét phương trình vi phân x = f(t,x), x e r , í e [ 0 ,1 ] với điều kiện ban đầu z(0) = x 0 Nội dung cơ bản của phương pháp RungeKutta tổng quát như sau Chia đoạn [0 ,1 ] thành một lưới đều tị = i.h, i = 0,1,2, , N,k = i và kí hiệu X ị là giá trị xấp xỉ x{tị) Phương pháp RungeKutta cho bài toán (12.1)(1.2.2) có dạng Xị+I = Xị... n ĩ ^ r ì } X Hình 1.4: Phương pháp điểm giữa và phương pháp hình thang là hai phương pháp ẩn, tức là để tính được giá trị xn+iỊ ta phải giải một phương trình phi tuyến Nếu chọn s = 3 và Cị = a, c2 = —J c3 = b thì đặt h = b — ữ, khi đó ta có: (Í-^)(Í-Ỉ0 (í) = "+c (6 j — ) ( b - a ) = Ă(í - a)(í - 2 }- 13 Suy ra b b = a+ )(t b b)dt J Li(t) dt=Ị a 2 (b — a )2 h =¥ 12 = 6 ‘ Và b b w2 = Ị L2{t) dt =... h$(ti,Xi,h), (1.2.3) trong đó s h) = biki ỉ= 1 s— 1 h các tham số ữjj, Cj, xác bị định bậc xấp xỉ của phương pháp, còn s là số nấc (s-stage là số các điểm mà tại đó phải tính các giá trị của hàm /) = f ( t + C ị h , X + h ^2 a i j k j ) j=i (1.2.4) Công thức trên được gọi là công thức RungeKutta ẩn tổng quát (1.2.5) s-nấc Phương pháp RungeKutta tổng quát có thể biểu diễn qua bảng Butcher (Butcher Cl...• Nếu chọn s = 1 và Ci = 6 thì ta có công thức xấp xỉ tích phân bởi diện tích hình chữ nhật ABEF (HìnhỊÕỊ): Từ đây ta có x(t + h) — x(t) = hf(t + h, x(t + h)) Suy ra công thức Euler lùi 3'n+l "ỉ” Y' b Hi 0 5 E b 3L A B *“ Hình 1.2: Hai phương pháp Euler tiến và Euler lùi là những phương pháp Runge- Kutta bậc nhất • Nếu ta chọn s = 1 và Ci = thì ta có công thức xấp xỉ tích phân bỏi diện tích hình... thức này gọi là phư ơng pháp hình than g hiển (expl icit trape zaida l meth od) • Bằng cách sử dụng xấp xỉ bậc nhất của x(t n + —) theo phươ ng pháp z Euler tiến h và thay vào công thức của phươ ng pháp điểm giữa ẩn , h /i xn+1 = xn + h.f{tn + x{tn + -)) ta nhận được phươ ng pháp điểm giữa hiển (expli cit midp oint meth od) % n +1 X n “I” h ýịtn •^n+l/“ì) • • Từ phươ ng pháp Rung eKutta ẩn cấp bốn kinh... 1.2 P hương pháp RungeKutta 1.2.1 n Dẫ tới phương pháp RungeKutta Vì phương pháp ẩn đòi hỏi tại mỗi bước phải giải một phương trình phi tuyến, điều là này không đơn giản, nên ta cố gắng xây dựng các công thức RungeKutta hiển từ công thức hình thang ẩn, công thức điểm giữa ẩn và công thức RungeKutta kinh điển cấp bốn tương ứng như sau • Tron g công thức hình thang ẩn * ^ n + 1 X n “ I ” ị f ( j ' n J... RungeKutta bậc hai tổng quát Giả thiết rằng ta đã biết giá trị của nghiệm X tại t n là xn Phương pháp RungeKutta hiển hai nấc cấp hai tổng quát sử dụng điểm (t n ,x n ) để xấp xỉ giá trị của X tại điểm tiếp theo X n+1 bằng công thức xN+1 = xn + h(bịkị + b2 k2 ) , trong đó (1.2.7) Khái niệm s— nấc (s- stage) thể hiện lần số tính các giá trị của hàm / (tại các điểm khác nhau trong công thức RungeKutta)... xN+1 = xn + h(bịkị + b2 k2 ) , trong đó (1.2.7) Khái niệm s— nấc (s- stage) thể hiện lần số tính các giá trị của hàm / (tại các điểm khác nhau trong công thức RungeKutta) là s Để tìm tất cả các phương pháp RungeKutta cấp hai, ta khai triển Taylor bậc nhất của hàm f(t, x ) theo tại (ío,£o) : . phương trình vi phân thường và 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 Runge- Kutta giải phương trình vi phân thường và phương trình vi phân đại số. 5 một số ví dụ giải phương trình vi phân bằng phương pháp Runge- Kutta trên Maple 16. 3. Nhiệm vụ nghiên cứu Nghiên cứu phương pháp Runge- Kutta giải phương trình vi phân thường và phương trình vi phân. phương trình vi phân đại số làm luận văn cao học. Luận văn gồm hai chương và một phụ lục. Chương 1 trình bày tổng quan về phương pháp Runge- Kutta giải phương trình vi phân thường. Lần lượt các phương

Ngày đăng: 14/09/2015, 09:23

Từ khóa liên quan

Mục lục

  • Lời cảm ơn

  • Lời cam đoan

  • Mục lục

  • Mở đầu

    • Chương 1 Tổng quan về phương pháp Runge-Kutta

      • ¥>(*) = ^ỉ{cj)LẢt)

      • ^*)= n.fcí-

      • I ỉ№ » ị[f(a) + 4/(^p) + /(6)].

        • xn+1 = xn + h.f{tn + x{tn + -))

        • h,

          • kị f (tni xn)-,

            • r, h hku kĩ = f{tn + 2,Xn —2^’ h hk2, k3 = f{tn + 2,Xn ^—2^’ kị = f(tn,xn + hk3).

            • z(0) = x0. (1.2.2)

            • (1.2.6)

            • xn+1 = xn + h{biki + b2k2) = xn + hbif{tn,xn)

            • ^ y ỡ f

            • $ y

              • + h2b2a2i^-{tn, xn)f(tn, £„)■■■. (1.2.8)

                • z'(í) = /(M)

                • = + §^M(í))/(í,z(í))

                  • xn+1 = xn + ìhf(tn, xn) + ìhf(tn + h,xn + hf(tn, xn)).

                  • d f

                  • df df lỡ2/

                  • Q ỷ 0

                  • 1 ô2 f

                  • ПЧ xn)

                  • 2 d2f

                  • Q J Q J

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

Tài liệu liên quan