PowerPoint Presentation Chương 6 GIẢI GẦN ĐÚNG PHƯƠNG TRÌNH VI PHÂN I GIẢI GẦN ĐÚNG PTVP CẤP 1 Xét bài toán Cauchy tìm nghiệm y=y(x) của phương trình vi phân với giá trị ban đầu y0 y’ = f(x, y), ∀x ∈[.]
Trang 1Chương 6 GIẢI GẦN ĐÚNG PHƯƠNG TRÌNH VI PHÂN
Trang 2I GIẢI GẦN ĐÚNG PTVP CẤP 1 :
Xét bài toán Cauchy : tìm nghiệm y=y(x) của
phương trình vi phân với giá trị ban đầu y0
y’ = f(x, y), ∀x ∈ [a,b]
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 điểm chia
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
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điều kiện y1(0) = -0.4, y2(0) = -0.6
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
giải
Trang 26Công thức Euler cải tiến
Trang 27K11 = 0.972 K12 =14.504154
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 :
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 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