Chương 6 Giải gần đúng phương trình vi phân thường

6 3.8K 1
Chương 6 Giải gần đúng phương trình vi phân thường

Đang tải... (xem toàn văn)

Thông tin tài liệu

Chương 6 GIẢI GẦN ĐÚNG PHƯƠNG TRÌNH VI PHÂN THƯỜNG 6.1. MỞ ĐẦU Nhiều bài toán kỹ thuật qui về việc t×m nghiệm của phương trình vi phân thoả mãn điều kiện nào đó (điều kiện đầu , điều kiện biên … ) nói chung giải đúng là khó nên thường giải gần đúng. Có 2 phương pháp giải gần đúng : - phương pháp giải tích : Tìm nghiệm gần đúng dạng biểu thức tuy nhiên phương pháp này thưòng ít dùng hơn - Phương pháp số : Ta tìm nghiệm tại các điểm x o <x 1 ,…<x n ≤ x tức là đúng nghiệm ở giá trò trước để tính giá trò sau : y k =φ(y k-1 ,…y k-v ) Có thể có phương pháp 1 bước và phương pháp đa bước : phương pháp 1 bước tính y k qua y k-1 ; phương pháp đa bước tính thông qua y k-1 …y k-v Trong phạm vi chương này ta xét 2 loại bài toán : 1 – Bài toán giá trò ban đầu còn gọi là bài toán Côsi : Tìm y(x) thoả mãn 2 điều kiện : +y’=f(x,y) x 0 < x < x +y(x 0 ) = y 0 2 – Bài toán biên tuyến tính : +Biên 2 điểm a , b ⎪ ⎩ ⎪ ⎨ ⎧ =+ =+ =++ 222 111 )(')( )(')( )()(')(" γβα γβα byby ayay xfyxqyxpy 6.2. PHƯƠNG PHÁP GIẢI TÍCH (PHƯƠNG PHÁP CHUỖI NGUYÊN ) Xét bài toán Côsi : y’ = f(x,y) ; x 0 < x < x (7-1 ) y(x 0 ) = y 0 (7-2) Trong đó hàm f(x,y) giải tích trong lân cận (x 0 ,y 0 ) tức là : f(x,y) = a ∑ ∞ =0, ji i,j (x-x 0 ) i (y-y 0 ) j Khi đó nghiệm đúng y +(x) có thể khai triển thành chuổi Taylo y*(x) = ∑ = n i 0 ! )( )( i xy o i+ (x-x o ) i Các đạo hàm y +(i) (x o ) có thể tính được dựa vào (7-1) và (7-2) y(x o ) = y o 57 y’(x) = f(x,y) ⇒ y’(x o ) =f(x o ,y o ) y” = x f ∂ ∂ + y f ∂ ∂ .y’ y”(x o ) = x f ∂ ∂ (x o ,y o ) + y f ∂ ∂ (x o ,y o ).f(x o ,y o ) Và cứ tiếp tục như vậy .Khi tính như vậy ta sẽ tìm được chuỗi Taylo và đó chính là nghiệm của phương trình vi phân . Ví dụ : ⎩ ⎨ ⎧ = = 1)0( .' y yxy Ta có : y(0) =1 y’(o) =0 – 1 =-1 y” = 1-y’ ⇒ y”(0) =2 = - y ⇒ (0) =-2 ,,, y ,,, ,,, y Từ đây ta suy ra ; y (k) (0) = (-1) k .2 với k≥2 Do đó : y t (x) = 1-x +2 ∑ ∞ =2k ! )1( k x kk − = 1- x +2 ( ∑ ∞ =0k ! )( k x k − -1 +x ) = 2e -x + x –1 . Đây là nghiệm dạng chuỗi đúng. Ví dụ 2 : ⎪ ⎩ ⎪ ⎨ ⎧ = + = 2)1( ' y xy y y y(1) =2 y’(1) = 21 2 + = 3 2 y” = ⎟ ⎟ ⎠ ⎞ ⎜ ⎜ ⎝ ⎛ + yx y ’ = 2 )( )'(')( yx yxyyyx + + − + = 2 )( ' yx yxy + − y”(1) = 2 )21( 2 3 2 1 + − = 27 4 − Tiếp tục ta tính các các đạo hàm bậc cao : y (1) = ''' 27 4 … vv . Ta có kết quả : 58 y(x) ≈ 2+ 3 2 (x-1) - 27 2 (x-1) 2 + 27 2 (x-1) 2 + 81 2 (x-3) 3 + … 6.3. PHƯƠNG PHÁP SỐ 6.3.1. Phương pháp cấp 1 – Phương pháp Ơle. Ta chia đoạn (x 0 , x ) thành n đoạn nhỏ bằng nhau bởi các điểm chia x i , bước các điểm chia là h, h>0 h= n xx 0 − ; x i = x 0 +i.h ; i= 0,1,…,n Nếu y(x) là nghiệm đúng của phương trình (7.1),(7.2) ta tìm cách tính gần đúng giá trò y(x) chỉ tại các nút x i mà thôi, rồi từ đó cho phép ta dùng các giá trò gần đúng đó. Gọi u i là giá trò gần đúng của y(x i ) là gia trò ù cần tìm. Nếu đã biết u i tại x i ta tính u i+1 tại nút x i+1 . Ta khai triển Taylo hàm y(x) tại x i : y (x) =y(x i ) + y’(x i ).(x-x i ) + !2 )( ,, i cy .(x-x i ) 2 c i = x i + θ (x-x i ) ; 0 < θ <1 Thay: x = x i+1 = x i + h ; y’(x i ) = f(x i ,y(x i )) theo (7.1) Ta có: y (x i +1 ) = y(x i ) + h.f(x i ,y(x i )) + 2 2 h y (c ,, i ) (7.3) Khi h bé thì số hạng cuối bé ta bỏ qua khi đó ta thay giá trò y(x i ) ≈ u i đã có thì ta tính được u i+1 ≈ y(x i +1 ) là: u i+1 ≈ u i +h.f(x i ,u i ) (7.4) Dựa vào điều kiện (7.2) ta chọn u 0 = y 0 (7.5) với i=0 Ta dùng (7.4) tính được u 1 và từ đó ta tính được các giá trò khác. Phương pháp tính u i trên gọi là phương pháp Ơle. Tóm lại phương pháp Ơle: u i+1 = u i +h(f(x i ,u i )). x n = x 0 +n.h Sai số cục bộ của phương pháp: R 1 (h) = 2 ,, 2 )( h cy i Phương pháp này có độ chính xác thấp. Ví dụ : y’ = y - y x 2 ; 0 < ≤ 1 y(0) = 1. 59 Ta có: f(x,y) = y - y x 2 ; x 0 = 0 ; x =1 ; y 0 =1 Lưới sai phân: x i =i.h ; h = n 1 Công thức Ơle cho bài toán là: u i+1 = u i + h.(u i - i i u x2 ) u 0 = y 0 = 1 Nếu ta chia n =10 thì kết quả tính như bảng sau: (Trong bảng có cho giá trò đúng y i vì y = 12 +x ) i x i u i y i (nghiệm đúng) Sai số δ 0 0.0 1 1 1 0.1 1.1 1.095445 2 0.2 1.191818 1.183216 3 0.3 1.277438 1.264911 4 0.4 1.358213 1.341641 Max 5% 5 0.5 1.435133 1.414214 6 0.6 1.508966 1.483240 7 0.7 1.580338 1.549193 8 0.8 1.649783 1.612452 9 0.9 1.717779 1.673320 10 1.0 1.784771 1.732051 0.04 ⇒ 4% 6.4.CÁC PHƯƠNG PHÁP ĐA BƯỚC Xét bài toán côsi : y’=f(x,y) x o ≤ x ≤ x y(x o ) = y o (y,f ∈ R m ) Tích phân 2 vế từ x n đến x n+1 được: y” =y n + ∫ +1 )(' n n x x dxxy Đặt i n l xx − =t , có : y n+1 =y n + h (*) dthtxy n ).(' 1 0 + ∫ 60 p dụng đa thức nội suy Niutơn lùi cho y’ n+1 =y’(x n +t.h) ta có: y’ n+t =y’ n + !1 t ∆y’ n-1 + !2 )1( + tt ∆ 2 y’ n-2 + ! )1) (1( q qttt − + + ∆ q y’ n-q p dụng tính chất sai phân và ký hiệu sai phân lùi ta có : ∇y’ n =∇y’ n-1 = y’ 1 – y’ n-1 y’ n+t =y’ n + !1 t ∇y’ n + !2 )1( + tt ∇ 2 y’ n + … + ! )1) (1( q qttt − + + ∇ q y’ n (**) (∇ k y’ n =∇ k y’ n-k ) Xuất phát từ x n+1 (thay n = n+1 và t = t-1 ) ta có : y’ n+t = y’ n+1 + !1 1−t ∇y’ n+1 + !2 )1( tt − ∇ 2 y’ n+1 + … + ! )2) (1( q qttt −+− ∇ q y’ n+1 Thay (**) vào (*) ta có công thức : y n+1 = y n +h ∇ ∑ = q i i a 0 i y’ n (***) Trong đó a o =1 ; a i = ∫ 1 0 ! )1) (1( i ittt − + + dt ; ι =1,2,…q . Tính các hệ số ta có : y n+1 =y n + h[1+ 2 1 ∇ + 2 5 ∇ 2 + 8 3 ∇ 3 + 720 !25 ∇ 4 +… ] y’ n Nếu q = 0 ta có lại công thức Euler : y n+1 = y n + h f(x n ,y n ) . Từ công thức (***) ta tính được các giá trò tiếp theo của y tại nút . Sai số của công thức là : R q = l i q+2 ∫ 1 0 )!1( )) (1( + ++ q qttt y (q+2) (ξ)dt . Hay : R q = h q+2 y (q+2) (ξ) -Phương pháp tiệm cận sai số : Khì (x,y) khả vi , liên tục và y(x) có đạo hàm đến cấp 3 bò chặn thì tồn tại hàm w(x) liên tục không phụ thuộc vào bước h sao cho : u i – y(x i ) = h.w(x i ) +o(h 2 ) (*) 61 Giả sử với cùng bài toán ta tính theo ơle 2 lần: Lần 1 với bước h ta được giá trò gần đúng tại x i là u(x i ,{ 2 h }) , lần 2 với bước 2 h ta được giá trò gần đúng tại x i là u(x i ,{ 2 h }) theo (*) ta có : u(x i ,{h}) – y(x i ) = h w(x i ) + o(h 2 ) (**) u(x i ,{ 2 h }) – y(x i ) = 2 h w(x i ) + o(h 2 ) (***) Ta khử w(x i ) khỏi 2 đẳng thức trên ta có : [2u(x i , 2 h ) - u(x i ,h)] – y(x i ) = o(h 2 ) Vì o(h 2 ) rất bé , là sai số của phép xác đònh ta có : y(x i ) = 2u(x i , 2 h ) - u(x i ,h) (***) Ta có nghiệm chính xác hơn Và như vậy có phương pháp 2 bước ( Euler ) Ví dụ : cũng giải bài toán y’ = y- y x 2 ; với 0 ≤ x ≤ 1 y(0) =1 Ta có bảng kết quả : x i U (x i ,l i ) U (x i , 2 h ) Y i (h) Nghiệm đúng y(x i ) 0 1 1 1 1 0.2 1.2 1.191818 1.183636 1.183216 0.4 1.373333 1.358213 1.343093 1.341641 0.6 1.531495 1.508966 1.486437 1.483240 0.8 1.681084 1.649783 1.618482 1.622452 1.0 1.826947 1.784771 1.742595 1.732051 62 . Chương 6 GIẢI GẦN ĐÚNG PHƯƠNG TRÌNH VI PHÂN THƯỜNG 6. 1. MỞ ĐẦU Nhiều bài toán kỹ thuật qui về vi c t×m nghiệm của phương trình vi phân thoả mãn điều kiện nào. giải đúng là khó nên thường giải gần đúng. Có 2 phương pháp giải gần đúng : - phương pháp giải tích : Tìm nghiệm gần đúng dạng biểu thức tuy nhiên phương pháp này thưòng ít dùng hơn - Phương. 0.2 1.2 1.191818 1.18 363 6 1.1832 16 0.4 1.373333 1.358213 1.343093 1.34 164 1 0 .6 1.531495 1.508 966 1.4 864 37 1.483240 0.8 1 .68 1084 1 .64 9783 1 .61 8482 1 .62 2452 1.0 1.8 269 47 1.784771 1.742595

Ngày đăng: 15/06/2015, 08:44

Từ khóa liên quan

Mục lục

  • VI PHÂN THƯỜNG

  • Khi đó nghiệm đúng y+(x) có thể khai triển thành chuo

    • Các đạo hàm y+(i)(xo) có thể tính được dựa vào (7-1)

    • y’\(x\) = f\(x,y\) \( y’\(xo\) =f

    • Sai số \(

    • 6.4.CÁC PHƯƠNG PHÁP ĐA BƯỚC

    • Nếu q = 0 ta có lại công thức Euler :

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

Tài liệu liên quan