Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 36 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
36
Dung lượng
637,58 KB
Nội dung
Chương GIẢI GẦN ĐÚNG PHƯƠNG TRÌNH VI PHÂN I GIẢI GẦN ĐÚNG PTVP CẤP : Xét toán Cauchy : tìm nghiệm y=y(x) phương trình vi phân với giá trị ban đầu y0 y’ = f(x, y), ∀x ∈[a,b] y(a) = y0 Các phương pháp giải gần : Công thức Euler Công thức Euler cải tiến Công thức Runge-Kutta Công thức Euler : Để tìm nghiệm gần tốn Cauchy ta chia đoạn [a,b] thành n đoạn nhỏ với bước h = (b-a)/n xo= a, x1 = x0 +h, , xk = x0 + kh, , xn = b Nghiệm gần toán dãy {yk} gồm giá trị gần hàm xk Ta có yk ≈y(xk) , k =0, n Công thức Euler : yk+1 = yk + h f(xk, yk) , k = 0, n-1 Ví dụ : Dùng cơng thức Euler tìm nghiệm gần tốn Cauchy y’ = y – x2 +1, 0≤x≤1 y(0) = 0.5 với n = Tính sai số biết nghiệm xác : y(x) = (x+1)2 – 0.5ex giải ta có h = 0.2 x0 = 0, x1 = 0.2, x2 = 0.4, x3 = 0.6, x4 = 0.8, x5 = Công thức Euler y0 = 0.5 yk+1 = yk + 0.2 (yk - xk2 +1) k x y(x ) k |y(x ) - y | k k 0 0.5 0.5 0.2 0.8 0.8292986 0.0292986 0.4 1.152 1.2140877 0.0620877 0.6 1.5504 1.6489406 0.0985406 0.8 1.98848 2.1272295 0.1387495 2.458176 2.6408591 0.1826831 k y k * Nhận xét : công thức Euler đơn gian, sai số cịn lớn nên sử dụng Công thức Euler cải tiến : yk+1 = yk + (k1+k2)/2 k1 = hf(xk, yk), k2 = hf(xk+h, yk + k1) k = 0,1, , n-1 Ví dụ : Làm lại ví dụ trước dùng cơng thức Euler cải tiến giải ta có h = 0.2 x0 = 0, x1 = 0.2, x2 = 0.4, x3 = 0.6, x4 = 0.8, x5 = Công thức Euler cải tiến yo = 0.5 yk+1 = yk + (k1 +k2) /2 k1= 0.2(yk - xk2 +1) k2 = 0.2(yk + k1 – (xk+0.2)2 +1) k x y k y(x ) k |y(x ) - y | k k 0 0.5 0.5 0.2 0.826 0.8292986 0.0033 0.4 1.20692 1.2140877 0.0072 0.6 1.6372424 1.6489406 0.0117 0.8 2.1102357 2.1272295 0.0170 2.6176876 2.6408591 0.0232 k Ví dụ : Sử dụng cơng thức Euler giải gần pt vi phân cấp (tính xấp xỉ y y’) y “ – y’ + 2y = sinx e2x , 0≤x≤0.5 điều kiện ban đầu y(0) = -0.4, y’(0) = -0.6 với bước h = 0.1 đặt y1 = y, y2 = y’ chuyển pt hệ y’1 = y2 y’2 = sinx e2x– y1 + 2y2 điều kiện y1(0) = -0.4, y2(0) = -0.6 Công thức Euler y1 = -0.4 y1 k+1 = y1 k + 0.1 y2k y2 = -0.6 y2 k+1 = y2 k + 0.1 (sinxke2xk - 2y1k +2y2 k) x y =y 1k y =y’ 2k -0.4 -0.6 0.1 -0.46 -0.64 0.2 -0.524 -0.6638 0.3 -0.5904 -0.6621 0.4 -0.6566 -0.6226 0.5 -0.7189 -0.5292 k Ví dụ : Xét toán Cauchy x“(t) = (Mt+5) x2(t) – 2Mx’(t)+1.2t + M, 1≤t điều kiện ban đầu x(1) = 1.3M, x’(1) = 1.8M Dùng công thức Euler cải tiến, xấp xỉ giá trị hàm x(t) x’(t) điểm t = 1.2 với bước h = 0.2 M = 2.7 giải đặt y1 = x, y2 = x’ chuyển pt hệ y’1 = y2 y’2 = (Mt+5)y12-2My2+1.2t+M điều kiện y1(1) = 1.3M, y2(1) = 1.8M Công thức Euler cải tiến y1 = 1.3M y1 = y1 + (K11+K21)/2 y2 = 1.8M y2 = y2 + (K12+K22)/2 K11= 0.2*y2 K12= 0.2( (Mt0+5)y102 -2My20+ 1.2t0+M) K21= 0.2*(y2 0+K12) K22= 0.2( (M(t0+h)+5)(y10 +K11)2 -2M(y20+K12) + 1.2(t0+h)+M) K11 = 0.972 K21 = 3.8728308 x(1.2) = y1 =5.9324154 x’(1.2) = y2 1=18.622212816 K12 =14.504154 K22 = 13.02027163 IV GIẢI PTVP TUYẾN TÍNH CẤP BẰNG PP SAI PHÂN HỮU HẠN : Xét phương trình vi phân tuyến tính cấp với điều kiện biên p(x)y” + q(x)y’ + r(x)y = f(x), a≤x≤b y(a) = α, y(b) = β PP sai phân hữu hạn : Chia đoạn [a,b] thành n đoạn với bước h=(b-a)/n điểm nút x0 = a, x1 = x0 +h, , xk = x0 + kh, , xn = b sử dụng công thức sai phân hướng tâm ta xấp xỉ y’(xk) ≈(yk+1 – yk-1) /2h y”( xk) ≈(yk+1 – 2yk + yk-1)/h2 với yk giá trị xấp xỉ hàm điểm xk thay xk vào phương trình ta pk (yk+1–2yk + yk-1)/h2+ qk (yk+1–yk-1)/(2h) +rkyk= fk với pk = p(xk), qk = q(xk), rk = r(xk), fk = f(xk), biến đổi phương trình ta thu hệ phương trình sau : Đây hệ phương trình tuyến tính Ay = b Với A ma trận đường chéo Ví dụ : Giải gần pt vi phân cấp y“ - y’ – (x+1)y = x-1, 0≤x≤1 y(0) = 1, y(1) = với bước h = 0.25 giải n=4 x0 = 0, x1 = 0.25, x2 = 0.5, x3 = 0.75, x4 = k qk -1 -1 -1 rk -1.25 -1.5 -1.75 fk -0.75 -0.5 -0.25 giải hệ phương trình tuyến tính: Ay = b Vậy nghiệm gần y(0) =1, y(0.25) = 0.8093, y(0.5) = 0.5827, y(0.75)=0.3182, y(1)=0 Ví dụ : Giải gần pt vi phân cấp Mx2y”+xy’-8My = -3M2x2, 1.4≤x≤1.8 y(1.4) = 0.5M, y(1.8) = 1.5M với bước h = 0.1, M= 2.7 giải n=4 x0 = 1.4, x1 = 1.5, x2 = 1.6, x3 = 1.7, x4 = 1.8 k pk 6.075 6.912 7.803 qk 1.5 1.6 1.7 rk -21.6 -21.6 -21.6 fk -49.2075 -55.9872 -63.2043 giải hệ phương trình tuyến tính : Ay = b Vậy nghiệm gần y(1.4) =1.35, y(1.5) = 2.0499, y(1.6) = 2.7247, y(1.7)=3.3882, y(1.8)=4.05 ...I GIẢI GẦN ĐÚNG PTVP CẤP : Xét tốn Cauchy : tìm nghiệm y=y(x) phương trình vi phân với giá trị ban đầu y0 y’ = f(x, y), ∀x ∈[a,b] y(a) = y0 Các phương pháp giải gần : Công thức... = r(xk), fk = f(xk), biến đổi phương trình ta thu hệ phương trình sau : Đây hệ phương trình tuyến tính Ay = b Với A ma trận đường chéo Ví dụ : Giải gần pt vi phân cấp y“ - y’ – (x+1)y = x-1,... 13.02027163 IV GIẢI PTVP TUYẾN TÍNH CẤP BẰNG PP SAI PHÂN HỮU HẠN : Xét phương trình vi phân tuyến tính cấp với điều kiện biên p(x)y” + q(x)y’ + r(x)y = f(x), a≤x≤b y(a) = α, y(b) = β PP sai phân hữu