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.
Trang 1Chương 6
GIẢI GẦN ĐÚNG PHƯƠNG TRÌNH VI PHÂN
Trang 31 Công thức Euler :
Để tìm nghiệm gần đúng của bài toán Cauchy ta chia đoạn [a,b] thành n đoạn nhỏ bằng nhau với bước h = (b-a)/n
xo= a, x1 = x0 +h, , xk = x0 + kh, , xn = b
Nghiệm gần đúng của bài toán là dãy {yk} gồm các giá trị gần đúng của hàm tại xk
Ta có yk ≈ y(xk) , k =0, n
Trang 4Công thức Euler :
yk+1 = yk + h f(xk, yk) , k = 0, n-1
Trang 5Ví 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 = 5
Tính sai số biết nghiệm chính xác là :
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 = 1
Trang 7* 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ụng
Trang 82 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)
Trang 113 Công thức Runge Kutta bậc 4 :
Trang 12* Chú ý : Lập công thức Runge-Kutta bằng má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ếp
Trang 13Ví 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.3
xo = 1.2, yo = 5.4, y1=y(1.5)
y1 = y0 + (K1+ 2K2+ 2K3+ K4) /6
Công thức Runge-Kutta bậc 4
giải
Trang 14Bấ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.6926
Trang 15II 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) = αmNghiệm y = (y1, y2, …, ym)
Trang 16Để 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
Trang 17Công thức Euler cải tiến :
Trang 18Ví dụ : Sử dụng công thức Euler giải gần đúng hệ
Trang 20III 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
Trang 21Đặt y1 = y, y2 = y’, y3 = y”, , ym = y(m-1)
Ta chuyển phương trình vi phân bậc m về hệ m phương trình vi phân cấp 1
với điều kiện ban đầu
y1(a) = α1, y2(a) = α2, , ym(a) = αm,
y’1 = y2y’2 = y3
y’m-1 = ymy’m = f(x, y1, y2, , ym)
Trang 22Ví dụ : Sử dụng công thức Euler giải gần đúng pt
Trang 23đặt y1 = y, y2 = y’ chuyển pt về hệ
y’1 = y2y’2 = sinx e2x– 2 y1 + 2y2
Trang 25Ví dụ : Xét bài toán Cauchy
x“(t) = (Mt+5) x2(t) – 2Mx’(t)+1.2t + M, 1≤tđiều kiện ban đầu
điều kiện y1(1) = 1.3M, y2(1) = 1.8M
giải
Trang 26Công thức Euler cải tiến
Trang 27K11 = 0.972 K12 =14.504154
K21 = 3.8728308 K22 = 13.02027163
x(1.2) = y1 1 =5.9324154
x’(1.2) = y2 1=18.622212816
Trang 28IV GIẢI PTVP TUYẾN TÍNH CẤP 2 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 2 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 bằng nhau với
bước h=(b-a)/n và các điểm nút
x0 = a, x1 = x0 +h, , xk = x0 + kh, , xn = b
Trang 29▪ sử dụng các 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 là giá trị xấp xỉ của hàm tại điểm xk
▪ thay xk vào phương trình ta được
pk (yk+1–2yk + yk-1)/h2+ qk (yk+1–yk-1)/(2h) +rkyk= fkvới pk = p(xk), qk = q(xk), rk = r(xk), fk = f(xk),
Trang 30▪ biến đổi phương trình trên ta thu được hệ phương trình sau :
Đây chính là hệ phương trình tuyến tính
Ay = b
Trang 31Với A là ma trận 3 đường chéo
Trang 33Ví dụ : Giải gần đúng pt vi phân cấp 2y“ - y’ – (x+1)y = x-1, 0≤x≤1
Trang 34Vậy nghiệm gần đúng
y(0) =1, y(0.25) = 0.8093, y(0.5) = 0.5827, y(0.75)=0.3182, y(1)=0
giải hệ phương trình tuyến tính: Ay = b
Trang 35Ví dụ : Giải gần đúng pt vi phân cấp 2
Mx2y”+xy’-8My = -3M2x2, 1.4≤x≤1.8y(1.4) = 0.5M, y(1.8) = 1.5M
Trang 36giải hệ phương trình tuyến tính : Ay = b
Vậy nghiệm gần đúng
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