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
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 ...
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ìm kiếm theo từ khóa liên quan:
Phương pháp tính Bài giảng Phương pháp tính Giải gần đúng phương trình vi phân Phương trình vi phân Hệ phương trình vi phân Phương trình vi phân cấp caoGợi ý tài liệu liên quan:
-
Giáo trình Phương pháp tính: Phần 2
204 trang 178 0 0 -
Nghịđịnhsố 67/2019/NĐ-CP: Quy định về phương pháp tính, mức thu tiền cấp quyền khai thác khoáng sản
17 trang 176 0 0 -
Đề cương chi tiết học phần: Toán giải tích - ĐH Kinh tế-Kỹ thuật Công nghiệp
8 trang 129 0 0 -
119 trang 112 0 0
-
Bài giảng Giải tích hệ thống điện - Chương 3: Mô hình đường dây truyền tải
28 trang 101 0 0 -
Giáo trình Toán học cao cấp (tập 2) - NXB Giáo dục
213 trang 86 0 0 -
101 thuật toán chương trình C: Phần 2
130 trang 83 0 0 -
Động lực học robot với liên kết chương trình
4 trang 74 0 0 -
Giáo trình Toán cao cấp A3: Phần 2
60 trang 64 0 0 -
Đề cương bài giảng Giải tích (Dùng cho hệ cao đẳng) - PGS.TS Tô Văn Ban
181 trang 64 0 0