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 - Trịnh Quốc Lương

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 [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-Kutta  
1. 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  
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  
đúng của bài toán Cauchy  
y’ = y – x2 +1, 0x1  
y(0) = 0.5  
vớ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  
Công thức Euler  
y0 = 0.5  
2
yk+1 = yk + 0.2 (yk - xk +1)  
k
0
1
2
3
4
5
xk  
0
yk  
0.5  
y(xk)  
0.5  
|y(xk) - yk |  
0
0.2  
0.4  
0.6  
0.8  
1
* 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  
2. 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ả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 = 1  
Công thức Euler cải tiến  
yo = 0.5  
yk+1 = yk + (k1 +k2) /2  
2
k1= 0.2(yk - xk +1)  
k2 = 0.2(yk + k1 (xk+0.2)2 +1)  
k
0
1
2
3
4
5
xk  
0
yk  
0.5  
y(xk)  
0.5  
|y(xk) - yk |  
0
0.2  
0.4  
0.6
0.8
1
3. Công thức Runge Kutta bậc 4 :  
* 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  
Ví dụ : Xét bài toán Cauchy  
y’ = 2.7xy + cos (x+2.7y), 1.2x  
y(1.2) = 5.4  
Dùng công thức Runge-Kutta tính gần đúng y(1.5)  
với bước h = 0.3  
giải  
Công thức Runge-Kutta bậc 4  
xo = 1.2, yo = 5.4, y1=y(1.5)  
y1 = y0 + (K1+ 2K2+ 2K3+ K4) /6  
Bấ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  
II. 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 ax 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 chia  
xo= a, x1 = x0 +h, ... , xk = x0 + kh, ... , xn = b  
Nghiệm gần đúng là dãy { yk=(y1 k, y2 k, …, ym k)}  
với yi k yi(xk), i=1,m  
Công thức Euler :  
yi k+1 = yi k + h fi(xk, y1 k, … , ym k)  
i=1..m; k = 0.. n-1  
Cô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-1  
Cô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-1  
Ví 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) e2x  
với 0 x0.5  
điều kiện ban đầu y1(0)=y2(0)=1  
bước h = 0.1  
Công thức Euler  
y1 0 = 1  
2
2x  
k
y1 k+1 = y1 k + h (3y1k + 2y2 k (2xk +1)e )  
y2 0 = 1  
2
2x  
k
y2 k+1 = y2 k + h (4y1k + y2 k + (xk +2xk 4) e )  
xk  
0
y1k  
1
y2k  
1
0.1  
0.2  
0.3  
0.4  
0.5  
1.4  
1.1  
1.9154  
2.5903  
3.4870  
4.6940  
1.3071  
1.6729  
2.2732  
3.2187  
III. 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)), axb  
với điều kiện ban đầu  
y(a) = 1, y’(a) = 2, .... , y(m-1)(a) = m  
Tải về để xem bản đầy đủ
pptx 36 trang Thùy Anh 10780 Free
Bạn đang xem 20 trang mẫu của 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 - Trịnh Quốc Lương", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pptxbai_giang_phuong_phap_tinh_chuong_6_giai_gan_dung_phuong_tri.pptx