Danh mục

Bài giảng Phương pháp tính - Chương 6: Giải gần đúng phương trình vi phân

Số trang: 36      Loại file: pdf      Dung lượng: 502.54 KB      Lượt xem: 18      Lượt tải: 0    
Thư viện của tui

Xem trước 4 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Bài giảng “Phương pháp tính – Chương 6: Giải gần đúng phương trình vi phân” trang bị cho cho người học các kiến thức: Giải gần đúng phương trình vi phân cấp 1, giải gần đúng hệ phương trình vi phân, giải gần đúng phương trình vi phân cấp cao, giải phương trình vi phân tuyến tính cấp 2 bằng phương pháp sai phân hữu hạn,… Mời các bạn cùng tham khảo.
Nội dung trích xuất từ tài liệu:
Bài giảng Phương pháp tính - Chương 6: Giải gần đúng phương trình vi phân Chương 6 GIẢI GẦN ĐÚNGPHƯƠNG TRÌNH VI PHÂNI. GIẢI GẦN ĐÚNG PTVP CẤP 1 :Xét bài toán Cauchy : tìm nghiệm y=y(x) củaphươ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 đúng :➢ Công thức Euler➢ Công thức Euler cải tiến➢ Công thức Runge-Kutta1. Công thức Euler :Để tìm nghiệm gần đúng của bài toán Cauchy tachia đoạn [a,b] thành n đoạn nhỏ bằng nhau vớibước h = (b-a)/nxo= a, x1 = x0 +h, ... , xk = x0 + kh, ... , xn = bNghiệm gần đúng của bài toán là dãy {yk} gồm cácgiá trị gần đúng của hàm tại xk Ta có yk ≈ y(xk) , k =0, nCông thức Euler : yk+1 = yk + h f(xk, yk) , k = 0, n-1Ví dụ : Dùng công thức Euler tìm nghiệm gầnđúng của bài toán Cauchy y’ = y – x2 +1, 0≤x≤1 y(0) = 0.5với n = 5Tính sai số biết nghiệm chính xác là : y(x) = (x+1)2 – 0.5exgiảita có h = 0.2x0 = 0, x1 = 0.2, x2 = 0.4, x3 = 0.6, x4 = 0.8, x5 = 1Công thức Euler y0 = 0.5 yk+1 = yk + 0.2 (yk - xk2 +1) k xk yk y(xk) |y(xk) - yk | 0 0 0.5 0.5 0 1 0.2 0.8 0.8292986 0.0292986 2 0.4 1.152 1.2140877 0.0620877 3 0.6 1.5504 1.6489406 0.0985406 4 0.8 1.98848 2.1272295 0.1387495 5 1 2.458176 2.6408591 0.1826831* Nhận xét : công thức Euler đơn gian, nhưng sai sốcòn lớn nên ít được sử dụng2. Công thức Euler cải tiến : yk+1 = yk + (k1+k2)/2 k = 0,1, ..., n-1 k1 = hf(xk, yk), k2 = hf(xk+h, yk + k1)Ví dụ :Làm lại ví dụ trước nhưng dùng công thức Euler cảitiếngiảita có h = 0.2x0 = 0, x1 = 0.2, x2 = 0.4, x3 = 0.6, x4 = 0.8, x5 = 1Cô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 xk yk y(xk) |y(xk) - yk |0 0 0.5 0.5 01 0.2 0.826 0.8292986 0.00332 0.4 1.20692 1.2140877 0.00723 0.6 1.6372424 1.6489406 0.01174 0.8 2.1102357 2.1272295 0.01705 1 2.6176876 2.6408591 0.02323. Công thức Runge Kutta bậc 4 :* Chú ý : Lập công thức Runge-Kutta bằngmáy tính casio không được vì công thức quádài, không đủ bộ nhớ, ta phải tính trực tiếpVí dụ : Xét bài toán Cauchy y’ = 2.7xy + cos (x+2.7y), 1.2≤x y(1.2) = 5.4Dùng công thức Runge-Kutta tính gần đúng y(1.5)với bước h = 0.3giảiCông thức Runge-Kutta bậc 4 xo = 1.2, yo = 5.4, y1=y(1.5) y1 = y0 + (K1+ 2K2+ 2K3+ K4) /6Bấm máy (lập hàm dùng phím calc) ta được K1 = 4.949578057 K2 = 8.367054617 K3 = 10.33000627 K4 = 19.41193853 y(1.5) = 15.69260639 ≈ 15.6926II. GIẢI GẦN ĐÚNG HỆ PTVP : Xét hệ phương trình vi phân cấp 1 y’1 = f1(x, y1, y2, ..., ym) y’2 = f2(x, y1, y2, ..., ym) ... y’m = fm(x, y1, y2, ..., ym) với a≤ x ≤ b và thỏa điều kiện ban đầu y1(a) = α1, y2(a) = α2, .... , ym(a) = αm Nghiệm y = (y1, y2, …, ym)Để tìm nghiệm gần đúng, ta chia đoạn [a,b] thành nđoạn nhỏ bằng nhau với bước h = (b-a)/n và cácđiểm chiaxo= a, x1 = x0 +h, ... , xk = x0 + kh, ... , xn = bNghiệm gần đúng là dãy { yk=(y1 k, y2 k, …, ym k)}với yi k ≈ yi(xk), i=1,mCông thức Euler : yi k+1 = yi k + h fi(xk, y1 k, … , ym k) ∀i=1..m; k = 0.. n-1Công thức Euler cải tiến : yi k+1 = yi k + (K1 i + K2 i) / 2 K1 i = h fi(xk, y1 k, … , ym k) K2 i = h fi(xk+h, y1 k+K1 1, … , ym k+K1 m) ∀i=1,m; k = 0, n-1Công thức Runge-Kutta bậc 4 : yi k+1 = yi k + (K1 i+2K2 i+2K3 i+K4 i) / 6 K1 i = h fi(xk, y1 k, … , ym k) K2 i = h fi(xk+h/2, y1 k+K11/2, … , ym k+K1 m/2) K3 i = h fi(xk+h/2, y1 k+K21/2, … , ym k+K2 m/2) K4 i = h fi(xk+h, y1 k+K31, … , ym k+K3 m) ∀i=1,m; k = 0, n-1Ví dụ : Sử dụng công thức Euler giải gần đúng hệpt vi phân y’1 = 3y1 + 2y2 – (2x2 +1)e2x y’2 = 4y1 + y2 + (x2 +2x –4) e2xvới 0 ≤x≤0.5điều kiện ban đầu y1(0)=y2(0)=1bước h = 0.1Công thức Eulery1 0 = 1y1 k+1 = y1 k + h (3y1k + 2y2 k – (2xk2 +1)e2xk)y2 0 = 1y2 k+1 = y2 k + h (4y1k + y2 k + (xk2 +2xk –4) e2xk) xk y1k y2k 0 1 1 0.1 1.4 1.1 0.2 1.9154 1.3071 0.3 2.5903 1.6729 0.4 3.4870 2.2732 0.5 4.6940 3.2187III. GIẢI GẦN ĐÚNG PTVP CẤP CAO: Xét phương trình vi phân cấp m y(m) = f(x, y, y’, ... , y(m-1)), a≤x≤b với điều kiện ban đầu y(a) = α1, y’(a) = α2, .... , y(m-1)(a) = αm ...

Tài liệu được xem nhiều: