Bài giảng Phương Pháp Tính - Chương VI

20 166 1
Bài giảng Phương Pháp Tính - Chương VI

Đ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ài giảng Phương Pháp Tính

Chương 6GIẢI GẦN ĐÚNG PHƯƠNG TRÌNH VI PHÂNI. Mở đầu. Các bài toán thường gặp có thể 2 loại:* Bài toán Côsi : là bài toán dạng phương trình vi phân với điều kiện bổ sung (điều kiện ban đầu) đã cho tại không quá một điểm.C - hằng số tích phân, phụ thuộc điều kiện ban đầu- Mỗi giá trị của C 1 nghiệm xác định.- Xác định C cần biết thêm 1 điều kiện ban đầu, dụVí dụ: Cho phương trình vi phân cấp 1: y’ = 2x + 1; (a)- Nghiệm tổng quát : y = x2 + x + C; (b)y(x=1) = 2; (c) (b) C = 0;Nghiệm của (a) là y = x2 + x thoả mãn (a) và (c).Bài toán tìm hàm số y(x) thoả mãn p/t vi phân (a) và điều kiện ban đầu (c) bài toán Côsi. Bài toán Côsi đối với phương trình vi phân cấp 1:- Cho khoảng [x0, X]- Tìm hàm số y = y(x) xác định trên [x0, X] thoả mãn:y’ = f(x,y); Xxx≤≤0y(x0) = η ;( 1 )( 2 )Trong đó f(x, y) – hàm đã biết; η - số thực cho trước( 2 ) - điều kiện Côsi hay điều kiện ban đầu.* Bài toán biên.Bài toán giải phương trình vi phân với điều kiện bổ sung được cho tại nhiều hơn 1 điểm.- Cho khoảng [a, b];- Tìm hàm y = y(x) trên [a, b] thoả mãn:Trong nhiều trường hợp giải gần đúng .y’ + p(x)y’ +q(x,y) = f(x); bxa≤≤( 3 )với điều kiện y(a) = α; y(b) = β( 4 ) II. Giải bài toán Côsi.1. Phương pháp chuỗi Taylo.y’ = f(x, y);Xxx ≤≤0y(x0) = η ;Khai triển nghiệm y(x) tại x = x0:⋅⋅⋅+−+⋅⋅⋅+−+−+=kkxxkxyxxxyxxxyxyxy )(!)()(!2)(")(!1)(')()(00)(200000( 5 ));,())(,()('0000ηxfxyxfxy ==( 6 )( ) ( ) ( ));(')(,)(,')(,)''(" xyxyxyfxyxxfxyxfyy ⋅∂∂+∂∂===Tương tự y’” y(3)(x0) chuỗi ( 5 ).Đã CM được rằng:tổng Sn(x) của n số hạng đầu của ( 5 ) nghiệm xấp xỉ của ( 1 ) , ( 2 ); n càng lớn độ chính xác càng cao.0xx − đủ bé, chuỗi ( 5 ) nghiệm của ( 1 ), ( 2 )Với( ) ( ));,(,,)("0000ηηηxfxyfxxfxy ⋅∂∂+∂∂=( 7 ) dụ 1. Tìm nghiệm xấp xỉ của:;'yxyy+=( a ) với điều kiện ban đầu: y(1) = 2; ( b )Sử dụng chuỗi Taylo; x0 = 1; y(x0) = η = 2.;32212)1(' =+=y;)()()()(22yxyxyxyxyxyyyxyxyy+−′=+′+−′+=′+=′′;274)21(2321)1(2−=+−⋅=′′y;)1(812)1(272)1(322)(32⋅⋅⋅+−+−−−+= xxxxyTính y(x) tại x =1,1: 1,1 – 1 =0,1 bỏ qua các số hạng cuối: ;06584,2)1,0(812)1,0(2721,0322)1,1(32≈+−⋅+=y dụ 2. Tìm nghiệm gần đúng của phương trình vi phân:- x0 = 0; y0 = 1; y’(0) = 2.0 – 1 + 12 = 0.y’ = 2x – 1 + y2; ( a )với điều kiện ban đầu: y(0) = 1.( b )- Đạo hàm ( a ):;20.1.22)0(=+=′′y;22 yyy′+=′′( c )- Đạo hàm ( c ):;222yyyy′′+′=′′′;42.1.20.2)0(=+=′′′y- Tính tiếp:;84.1.22.0.626)4(=+=′′′+′′′=yyyyy-;31321)(432⋅⋅⋅++++=xxxxyNhận xét: - Phương pháp Taylo cho nghiệm xấp xỉ dưới dạng chuỗi.⋅⋅⋅+−+⋅⋅⋅+−+−+=kkxxkxyxxxyxxxyxyxy )(!)()(!2)(")(!1)(')()(00)(200000( 5 ) 2. Phương pháp Ơ le.- Là phương pháp số;- Xác định từng giá trị của y(x) theo giá trị cụ thể của xbảng các giá trị x và y(x) tương ứng.Nội dung: - Chia [x0, X] n đoạn bằng các nút xi cách đều.xi = x0 + ih; i = 0, 1, 2, . . ., n;;)(0nxXh−=xiLưới sai phân trên [x0, X]xi – nút của lưới; h - bước của lưới: h = const; - y(x) nghiệm đúng của (1), (2)- Mục đích: tìm giá trị gần đúng của y(x) chỉ tại các nút xi, không phải tại mọi[ ].,0Xxx∈Thành lập công thức tính:- y(xi) – giá trị đúng của y(x) tại xi;- ui – giá trị gần đúng tính được của y(xi);- Giả sử đã biết ui, cần tính ui+1 tại xi+1.y’ = f(x, y);Xxx ≤≤0y(x0) = η ; - Khai triển Taylo tại xi; h đủ nhỏ bỏ qua các số hạng cuối.);)(()()(11 iiiiixxxyxyxy −′+=++;)(1hxxii=−+( );)(,)(iiixyxfxy =′( );)(,.)()(1 iiiixyxfhxyxy +=+- Điều kiện ban đầu u0 = η( );,.0001uxfhuu +=( );,.1112uxfhuu+=. . . . . . . . . . . . . . . . . ( );,.1 iiiiuxfhuu +=+);)(()()(iiixxxyxyxy −′+=( 8 )biết ui-( );,.1 iiiiuxfhuu +=+( 9 )Nhận xét:- Đơn giản, không phải giải p/trình nào, thuận tiện lập trình giải trên máy tính - Độ chính xác không cao.(8 a) - Đánh giá sai số: Sau khi tính được u tại xi với bước h: u(xi,h)tính u(xi, h/2) nghiệm sai số :Các bước tính: Cho;(y’ = f(x, y ;0Xxx ≤≤y(x0) = η ;- Ấn định số khoảng chia n;- Tính h = (x – x0)/n ;- Tính xi = x0 + ih;- Đặt u0 = η- Tính ui+1 = ui + h.f(xi,ui) với i = 0, 1, 2, . . ., n ;- Đặt u(xi, h) = ui; thay h = h/2 tính lại;- Đặt u(xi,h/2) = ui; u(xi, h/2) ~ y(xi)- Sai số:;2,),()(2,−≈−hxuhxuxyhxuiiii;2,),()(2,−≈−hxuhxuxyhxuiiii(10) - Đánh giá sai số: Sau khi tính được u tại xi với bước h: u(xi,h)tính u(xi, h/2) nghiệm sai số :Các bước tính: Cho;(y’ = f(x, y ;0Xxx ≤≤y(x0) = η ;- Ấn định số khoảng chia n;- Tính h = (x – x0)/n ;- Tính xi = x0 + ih;- Đặt u0 = η- Tính ui+1 = ui + h.f(xi,ui) với i = 0, 1, 2, . . ., n ;- Đặt u(xi, h) = ui; thay h = h/2 tính lại;- Đặt u(xi,h/2) = ui; u(xi, h/2) ~ y(xi)- Sai số:;2,),()(2,−≈−hxuhxuxyhxuiiii;2,),()(2,−≈−hxuhxuxyhxuiiii(10)Quy ước viết 0(hk): Đại lượng φ(h) phụ thuộc h và 0 khih 0. Nếu tồn tại một hằng số dương M1 không phụ thuộc h sao cho0;)(1>≤khMhkϕthì viết φ(h) = 0(hk) φ(h) là một vô cùng bé cỡ 0(hk).viết sai số của công thức Ơle: ei = ui – y(xi) = 0(h). 3. Phương pháp hình thang.Phương pháp Ơle có độ chính xác không cao.Thay (9)[ ];),(),(2*111 +++++=iiiiiiuxfuxfhuu(11)u*i+1 trong (11) được tính theo công thức Ơle:Đã chứng minh được phương pháp này có dộ chính xác cấp 2:;)1(1)(1ε≤−−++kikiuuĐể tính nghiệm (11) chính xác hơn khi đã biết ui, có thể dùng phép lặp đơn:Quá trình lặp dừng lại ở bước k khiε – sai số cho phép.).(0;)(2hxyuii=−);,()0(1iiiiuxhfuu +=+[ ];),(),(2)1(11)(1−+++++=kiiiiikiuxfuxfhuu(12)(13)( );,.*1 iiiiuxfhuu +=+ [...]... f ( xi , ui , vi ) + f ( xi +1 , ui*+1 , vi* +1 ) ; 2 h vi +1 = vi + g ( xi , ui , vi ) + g ( xi +1 , ui*+1 , vi* +1 ) ; 2 ] ui*+1 = ui + h f ( xi , ui , vi ) ; vi* +1 = vi + h.g ( xi , ui , vi ); Để nâng cao độ chính xác của nghiệm, khi đã biết ui, vi, dùng phương pháp lặp để tính ui+1, vi+ 1 tương tự như đã biết 0) ui(+1 = ui + hf ( xi , ui , vi ); h (k ) k− k− ui +1 = ui + f ( xi , ui , vi ) + f ( xi... ui(+1 1) , vi( +1 1) ) ; 2 [ ] ( 23 ) Dừng quá trình tính khi k) k− ui(+1 − ui(+1 1) < ε ; ε - sai số cho phép Đối với vi+ 1 cũng tính tương tự 4 Phương pháp Runge-Kutta Đặt u0 = η1 ; v0 = η2 ; Biết ui, tính ui+1; biết vi, tính vi+ 1 theo công thức: 1 ui +1 = ui + (k1 + 2k 2 + 2k3 + k 4 ); 6 1 vi +1 = vi + (l1 + 2l2 + 2l3 + l4 ); 6 với k1 = h f ( xi , ui , vi ); k 2 = h f ( xi + 0,5h , ui + 0,5k1 , vi + 0,5l1... - 0,44 z g ( x, y , z ) = − − y x (d) Dùng công thức Ơle, chọn h = 0,1 yi +1 = yi + hf ( xi , yi , zi ) = yi + ∆yi ; zi +1 = zi + hg ( xi , yi , zi ) = zi + ∆zi ; Lập bảng tính: ∆yi = hzi ; z  ∆zi = −h + y ; x  zi Δyi = h.zi zi gi = − − yi xi Δzi=h.gi -0 ,33 -0 ,296 -0 ,260 -0 ,222 -0 ,033 -0 ,030 -0 ,026 -0 ,022 i xi yi 0 1 2 3 4 5 1,0 1,1 1,2 1,3 1,4 1,5 0,77 0,726 0,679 0,629 -0 ,44 -0 ,473 -0 ,503 -0 ,529...4 Phương pháp Runge-Kutta Xét phương pháp Runge – Kutta cấp 4 Đặt u0 = η; 1 ui +1 = ui + (k1 + 2k 2 + 2k3 + k 4 ); 6 trong đó k1 = h f ( xi , ui ); k 2 = h f ( xi + 0,5h , ui + 0,5k1 ); k3 = h f ( xi + 0,5h , ui + 0,5k 2 ); k 4 = h f ( xi + h , ui + k3 ) (14) (15) Nhận xét: - Không cần giải phương trình; - Thuận lợi để lập trình trên máy tính; - Độ chính xác cao hơn Đã chứng minh được phương pháp R-K... 0,5k 2 , vi + 0,5l2 ); k 4 = h f ( xi + h , ui + k3 , vi + l3 ) ( 24 ) ( 25 ) ( 26 ) l1 = h.g ( xi , ui , vi ); l2 = h.g ( xi + 0,5h , ui + 0,5k1 , vi + 0,5l1 ); l3 = h.g ( xi + 0,5h , ui + 0,5k 2 , vi + 0,5l2 ); l4 = h.g ( xi + h , ui + k3 , vi + l3 ) IV Bài toán Côsi với phương trình vi phân cấp cao Bài toán Cho khoảng [x0, X], tìm hàm số y = y(x) xác định trên [x0, X] và thoả mãn phương trình vi phân:... bằng cách đạo hàm hệ phương trình ( 18 ) 2 Phương pháp Ơle Chia khoảng [x0, X] thành n đoạn con đều nhau bởi các nút X − x0 xi = x0 + ih; h = ; n Ký hiệu giá trị gần đúng của y(x) là u; Ký hiệu giá trị gần đúng của z(x) là v; ui +1 = ui + h f ( xi , ui , vi ) vi +1 = vi + h.g ( xi , ui , vi ) ( 21 ) u0 = η1; v0 = η2 Biết u0, v0, tính được u1, v1, biết ui, vi, ui+1, vi+ 1 3 Phương pháp hình thang Tương... ( xi ) = 0(h 4 ); dụ Tìm nghiệm của phương trình 2x y′ = y − trong khoảng 0 ≤ x ≤ 1 với y(0) = 1 y ( x0 = 0; X = 1 ) - ể so sánh, giải với ph /pháp Ơle, ph/ pháp hình thang, R-K và tính nghiệm đúng - Nghiệm đúng của phương trình trên là: y = 2 x + 1 - Tính với h = 0,2 xi 0,0 0,2 0,4 0,6 0,8 1,0 Ơle 1, 1,2 1,37333 1,53150 1,68108 1,82695 Nhận xét Hình thang R-K Nghiệm đúng 1, 1,18667 1,34832 1,49372... z’ = y” = f (x, y, y’) = f(x, y, z) hệ hai phương trình cấp 1: z’ = f(x, y, z) y’ = z z(x0) = η1 ; y(x0) = η0 Sau khi hạ cấp hệ phương trình vi phân cấp 1 một trong các phương pháp đã biết để giải ( 31 ) dùng dụ Giải p/trình vi phân cấp 2 sau bằng p /pháp Ơle: với điều kiện Giải y′ y′′ + + y = 0; x y(1) = 0,77; Đặt y’ = z; (a) (b) 1 ≤ x ≤ 1,5 (a) y’(1) = - 0,44 (b) y” = z’ ; z z′ = − − y x y ′ =... , y(n-1)) ( 27 ) với điều kiện y(x0) = y1,0; y’(x0) = y2,0; , y(n-1)(x0) = yn,0 ( 28 ) Cách giải Đưa về hệ p/t vi phân cấp 1 bằng cách đặt: y1 = y, y2 = y’, , yn = y(n-1) y’1 = y2 y’2 = y3 hệ ph/trình: y’n-1 = yn y’n = f(x, y1, y2, , yn) và với điều kiện y1(x0) = y1,0; y2(x0) = y2,0; , y n(x0) = yn,0 Xét phương trình vi phân cấp 2: Tìm hàm y = y(x) xác định trên [x0, X] thoả mãn phương trình:... h.zi zi gi = − − yi xi Δzi=h.gi -0 ,33 -0 ,296 -0 ,260 -0 ,222 -0 ,033 -0 ,030 -0 ,026 -0 ,022 i xi yi 0 1 2 3 4 5 1,0 1,1 1,2 1,3 1,4 1,5 0,77 0,726 0,679 0,629 -0 ,44 -0 ,473 -0 ,503 -0 ,529 -0 ,044 -0 ,047 -0 ,050 -0 ,053 0,576 0,521 -0 ,551 -0 ,055 . h.ziiiiiyxzg−−=Δzi=h.gi0123451,01,11,21,31,41,50,770,7260,6790,6290,57 6-0 ,4 4-0 ,47 3-0 ,50 3-0 ,52 9-0 ,04 4-0 ,04 7-0 ,05 0-0 ,05 3-0 ,3 3-0 ,29 6-0 ,26 0-0 ,03 3-0 ,03 0-0 ,026 . = η ;- Ấn định số khoảng chia n ;- Tính h = (x – x0)/n ;- Tính xi = x0 + ih ;- Đặt u0 = - Tính ui+1 = ui + h.f(xi,ui) với i = 0, 1, 2, . . ., n ;- Đặt

Ngày đăng: 06/11/2012, 11:32

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

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

Tài liệu liên quan