Bài giảng Phương pháp số trong công nghệ hóa học - Tuần 5 - Nguyễn Đặng Bình Thành

1.2 Phƣơng pháp giải phƣơng trình và hệ phƣơng trình phi tuyến Sự tồn tại của nghiệm thực Định lý. Nếu có hai số thực a, b (a < b) sao cho f(a) và f(b) trái dấu, tức là f(a).f(b) < 0 ( 3 ) đồng thời f(x) liên tục trên [a, b] thì trong khoảng [a, b] ít nhất có một nghiệm thực của phương trình f(x) = 0.

pdf46 trang | Chia sẻ: thuyduongbt11 | Ngày: 10/06/2022 | Lượt xem: 393 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Bài giảng Phương pháp số trong công nghệ hóa học - Tuần 5 - Nguyễn Đặng Bình Thành, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
PHƢƠNG PHÁP SỐ TRONG CÔNG NGHỆ HÓA HỌC Mã học phần: CH3454 TS. Nguyễn Đặng Bình Thành BM:Máy & TBCN Hóa chất Numerical Methods in Chemical Engineering Tuần 5 Chƣơng 1. Các phƣơng pháp giải phƣơng trình và hệ phƣơng trình 1.2 Phƣơng pháp giải phƣơng trình và hệ phƣơng trình phi tuyến Nghiệm thực của phương trình – Ý nghĩa hình học. f(x) = 0; ( 1 ) f – hàm cho trước của đối số x α - nghiệm thực của ( 1 ) f(α) = 0; ( 2 ) - Vẽ đồ thị y = f(x) Hoành độ điểm M nghiệm α. O y xα M f(x) O y x M α g(x) h(x) ~ g(x) = h(x) đồ thị y1 = g(x) và y2 = h(x) - hoặc (1) Chƣơng 1. Các phƣơng pháp giải phƣơng trình và hệ phƣơng trình 1.2 Phƣơng pháp giải phƣơng trình và hệ phƣơng trình phi tuyến Sự tồn tại của nghiệm thực Định lý. Nếu có hai số thực a, b (a < b) sao cho f(a) và f(b) trái dấu, tức là f(a).f(b) < 0 ( 3 ) đồng thời f(x) liên tục trên [a, b] thì trong khoảng [a, b] ít nhất có một nghiệm thực của phương trình f(x) = 0. O y x A B a b Chƣơng 1. Các phƣơng pháp giải phƣơng trình và hệ phƣơng trình 1.2 Phƣơng pháp giải phƣơng trình và hệ phƣơng trình phi tuyến Khoảng phân ly nghiệm (tách nghiệm) Định nghĩa: Khoảng [a, b] nào đó gọi là khoảng phân ly nghiệm của phương trình f(x) = 0 nếu nó chứa một và chỉ một nghiệm của phương trình đó. trong [a, b] : - hàm f(x) đơn điệu O y x A B a b f’(x) không đổi dấu Định lý: Nếu hàm số f(x) liên tục và đơn điệu trên khoảng [a, b], đồng thời f(a) và f(b) trái dấu thì [a, b] là khoảng phân ly nghiệm của phương trình f(x) = 0. Chƣơng 1. Các phƣơng pháp giải phƣơng trình và hệ phƣơng trình 1.2 Phƣơng pháp giải phƣơng trình và hệ phƣơng trình phi tuyến Các phương pháp xác định gần đúng nghiệm thực của phương trình phi tuyến 1. Phương pháp đồ thị. 2. Phương pháp thử. 3. Phương pháp chia đôi. 4. Phương pháp lặp. 5. Phương pháp tiếp tuyến (phương pháp Newton-Raphson). 6. Phương pháp dây cung. Chƣơng 1. Các phƣơng pháp giải phƣơng trình và hệ phƣơng trình 1.2 Phƣơng pháp giải phƣơng trình và hệ phƣơng trình phi tuyến Phương pháp Newton-Raphson (phương pháp tiếp tuyến) Cơ sở : khai triển Taylor: - Hàm F(x) xác định và có đạo hàm đến cấp n+1 tại xo và lân cận xo. - Khai triển Taylor bậc n của F(x) tại xo: );( )!1( )( )( ! )( )(" !2 )( )(')()()( )1( 1 )( 2 cF n xx xF n xx xF xx xFxxxFxF n n o o n n o o o ooo ;10);( oo xxxc Chƣơng 1. Các phƣơng pháp giải phƣơng trình và hệ phƣơng trình 1.2 Phƣơng pháp giải phƣơng trình và hệ phƣơng trình phi tuyến Phương pháp Newton-Raphson (phương pháp tiếp tuyến) - Giả sử f(x) =0 : - Có nghiệm thực α phân ly trong [a, b]; - Có đạo hàm f’(x) ≠ 0 tại x [a, b]; - Có đạo hàm cấp hai f’’(x) tại x [a, b]; - Chọn xo [a,b] khai triển Taylo bậc nhất của f(x) tại xo: );(")( 2 1 )(')()()( 2 cfxxxfxxxfxf oooo Bỏ qua số hạng cuối ;0)(')()( ooo xfxxxf ; )(' )( 1 o o o xf xf xx ; )(' )( 1 1 12 xf xf xx ; )(' )( 1 n n nn xf xf xx. . . ;lim n x n Chƣơng 1. Các phƣơng pháp giải phƣơng trình và hệ phƣơng trình 1.2 Phƣơng pháp giải phƣơng trình và hệ phƣơng trình phi tuyến Phương pháp Newton-Raphson (phương pháp tiếp tuyến) Ý nghĩa hình học: thay đường cong y = f(x) bằng tiếp tuyến kẻ từ A(a,f(a)) hay B(b,f(b)),  hoành độ giao điểm của tiếp tuyến với trục hoành là nghiệm gần đúng của phương trình. Đặt: - xo = a, nếu tiếp tuyến kẻ từ A; - xo = b, nếu tiếp tuyến kẻ từ B; Phương trình tiếp tuyến của y = f(x) tại [xo, f(xo)] : Giao điểm với trục hoành (x1, y1 = 0) );)((')( ooo xxxfxfy ( a ) );)((')( ooo xxxfxf ( b ) Chƣơng 1. Các phƣơng pháp giải phƣơng trình và hệ phƣơng trình 1.2 Phƣơng pháp giải phƣơng trình và hệ phƣơng trình phi tuyến Phương pháp Newton-Raphson (phương pháp tiếp tuyến) Tiếp tục vẽ tiếp tuyến với điểm [ (x1, f(x1) ] ; )(' )( 1 o o o xf xf xx ; )(' )( 1 n n nn xf xf xx ; )(' )( 1 1 12 xf xf xx . . . x y O A B α xo=ax1x2 b Chƣơng 1. Các phƣơng pháp giải phƣơng trình và hệ phƣơng trình 1.2 Phƣơng pháp giải phƣơng trình và hệ phƣơng trình phi tuyến Phương pháp Newton-Raphson (phương pháp tiếp tuyến) Tiếp tục vẽ tiếp tuyến với điểm [ (x1, f(x1) ] ; )(' )( 1 o o o xf xf xx ; )(' )( 1 n n nn xf xf xx ; )(' )( 1 1 12 xf xf xx . . . x y O xo=bx1x2 αa A B Chƣơng 1. Các phƣơng pháp giải phƣơng trình và hệ phƣơng trình 1.2 Phƣơng pháp giải phƣơng trình và hệ phƣơng trình phi tuyến Phương pháp Newton-Raphson (phương pháp tiếp tuyến) * Định lý về sự hội tụ. Giả sử: - [a, b] là khoảng phân ly nghiệm của f(x) = 0; - f có đạo hàm f’, f” với f’ và f” : + liên tục trên [a, b]; + không đổi dấu trên [a, b]; - xấp xỉ xo chọn f(xo).f”(xo) > 0; - xn α khi n * Sai số. Lấy xn nghiệm gần đúng sai số: ; )( m xf x n n ;)('0 xfm ;bxavới Trong thực tế, thường dừng quá trình tính khi: xn – xn-1 < ε (sai số cho phép) Chƣơng 1. Các phƣơng pháp giải phƣơng trình và hệ phƣơng trình 1.2 Phƣơng pháp giải phƣơng trình và hệ phƣơng trình phi tuyến Phương pháp Newton-Raphson (phương pháp tiếp tuyến) ; )(' )( 1 o o o xf xf xx ; 1 o xxe e < ε xo = x1 x = α 1/ Cho phương trình f(x) = 0; 2/ Ấn định sai số cho phép ε; 3/ Tìm khoảng phân ly nghiệm; 4/ Chọn giá trị đầu xo: f(xo).f”(xo) > 0; 5/ Tính toán sai số Sơ đồ tóm tắt các bước giải: Ví dụ. Tìm nghiệm gần đúng của phương trình f(x) = x3 – x – 1 = 0; 1. Điều kiện phương trình có nghiệm thực và tìm khoảng phân ly nghiệm. -Hàm số xác định và liên tục tại mọi x - f’(x) = 3x2 – 1 = 0 tại 3/1x - Bảng biến thiên hàm số: x f’(x) f(x) 3 1 3 1 0 0+ _ + M m ;01 3 1 33 1 ) 3 1 (fM đồ thị hàm số chỉ cắt trục hoành tại một điểm, phương trình có một nghiệm thực trong khoảng ,3/1 - Chọn khoảng chứa nghiệm [1, 2] f(1) = 1 – 1 – 1 = - 1 <0 f(2) = 8 – 2 – 1 = 5 >0 f(1).f(2) < 0 khoảng [1, 2] chứa nghiệm. Với sai số cho phép ε =10-3 Chƣơng 1. Các phƣơng pháp giải phƣơng trình và hệ phƣơng trình 1.2 Phƣơng pháp giải phƣơng trình và hệ phƣơng trình phi tuyến Phương pháp Newton-Raphson (phương pháp tiếp tuyến) Phương trình: )( )( xf xf xx f’(x) = 3x2 – 1 > 0 trong khoảng [1, 2] f”(x) = 6x > 6 trong khoảng [1, 2] f(1) = -1; f(2) = 5; f(2).f”(2) > 0 Chọn đầu tính x = 2. Chƣơng 1. Các phƣơng pháp giải phƣơng trình và hệ phƣơng trình 1.2 Phƣơng pháp giải phƣơng trình và hệ phƣơng trình phi tuyến Phương pháp Newton-Raphson (phương pháp tiếp tuyến) Lập bảng tính: x f(x)=x3-x-1 f (x)=3x2-1 )( )( xf xf x 2,0 5,0 11,0 1,5454545 1,5454545 1,145755 6,165288 1,3596148 1,3596148 0,153704 4,545657 1,3258015 1,3258015 0,004625 4,273245 1,3247190 1,3247190 0,0000034 4,264641 1,3247182 1,3247182 0,0000010 Chƣơng 1. Các phƣơng pháp giải phƣơng trình và hệ phƣơng trình 1.2 Phƣơng pháp giải phƣơng trình và hệ phƣơng trình phi tuyến Phương pháp Newton-Raphson (phương pháp tiếp tuyến) )( )( xf xf xx f(x) = x3 – x – 1 = 0 f’(x) = 3x2 – 1 = 0 Chƣơng trình: Function F(x:real):real; Begin F:=x*sqr(x)-x-1; End; Function dF(x:real):real; Begin dF:=3*sqr(x)-1; End; Chƣơng 1. Các phƣơng pháp giải phƣơng trình và hệ phƣơng trình 1.2 Phƣơng pháp giải phƣơng trình và hệ phƣơng trình phi tuyến Phương pháp Newton-Raphson (phương pháp tiếp tuyến) Ví dụ: Program PT1; Uses crt; Var n,i,j,k:integer; x,x0,eps,ss:real; Function F(x:real):real; Begin F:=x*sqr(x)-x-1; End; Chƣơng 1. Các phƣơng pháp giải phƣơng trình và hệ phƣơng trình 1.2 Phƣơng pháp giải phƣơng trình và hệ phƣơng trình phi tuyến Phương pháp Newton-Raphson (phương pháp tiếp tuyến) Ví dụ: Program PT1; Function dF(x:real):real; Begin dF:=3*sqr(x)-1; End; {Chương trình chính} BEGIN clrscr; Chƣơng 1. Các phƣơng pháp giải phƣơng trình và hệ phƣơng trình 1.2 Phƣơng pháp giải phƣơng trình và hệ phƣơng trình phi tuyến Phương pháp Newton-Raphson (phương pháp tiếp tuyến) Ví dụ: Program PT1; {Chương trình chính} BEGIN clrscr; write (‘Nhập x0 = ’);readln(x0); write (‘Nhập eps = ’);readln(eps); x:=x0;k:=0; Repeat Chƣơng 1. Các phƣơng pháp giải phƣơng trình và hệ phƣơng trình 1.2 Phƣơng pháp giải phƣơng trình và hệ phƣơng trình phi tuyến Phương pháp Newton-Raphson (phương pháp tiếp tuyến) Ví dụ: Program PT1; BEGIN x:=x0;k:=0; Repeat x:=x-F(x)/dF(x); ss:=abs(x-x0); x0:=x;k:=k+1; Until ss<=eps; Chƣơng 1. Các phƣơng pháp giải phƣơng trình và hệ phƣơng trình 1.2 Phƣơng pháp giải phƣơng trình và hệ phƣơng trình phi tuyến Phương pháp Newton-Raphson (phương pháp tiếp tuyến) Ví dụ: Program PT1; BEGIN Repeat Until ss<=eps; {In kết quả} write (‘Nghiệm x = ’,x:8:4); readln; END. Chƣơng 1. Các phƣơng pháp giải phƣơng trình và hệ phƣơng trình 1.2 Phƣơng pháp giải phƣơng trình và hệ phƣơng trình phi tuyến Phương pháp lặp Cho phương trình f(x) = 0 có nghiệm thực trong khoảng [a,b]; - Viết lại x + f(x) – x = 0; Đặt φ(x) = x + f(x); x = φ(x); - Chọn sơ bộ giá trị gần đúng đầu tiên của nghiệm: ;,bax o x1 = φ(xo); x2 = φ(x1); . . . . . . . . . xn = φ(xn-1); n = 1, 2, . . . - Hàm φ(x) gọi là hàm lặp. (*) Chƣơng 1. Các phƣơng pháp giải phƣơng trình và hệ phƣơng trình 1.2 Phƣơng pháp giải phƣơng trình và hệ phƣơng trình phi tuyến Phương pháp lặp - Giả sử khi n ; xn nghiệm α của phương trình phương pháp lặp hội tụ, có thể coi xn là nghiệm gần đúng . -Quá trình tính cũng có thể phân kỳ, xn ngày càng đi xa khỏi nghiệm. Sự hội tụ của quá trình tính toán Chƣơng 1. Các phƣơng pháp giải phƣơng trình và hệ phƣơng trình 1.2 Phƣơng pháp giải phƣơng trình và hệ phƣơng trình phi tuyến Phương pháp lặp xx2x1 x3x0α O y y=φ(x) O y xx1x2 xox3α Ý nghĩa hình học x1 = φ(xo); x2 = φ(x1); . . . . . . . . . xn = φ(xn-1); n = 1, 2, . . . Đặt φ(x) = x + f(x); x + f(x) – x = 0; x = φ(x); f(x) = 0; Chƣơng 1. Các phƣơng pháp giải phƣơng trình và hệ phƣơng trình 1.2 Phƣơng pháp giải phƣơng trình và hệ phƣơng trình phi tuyến Phương pháp lặp Định lý về sự hội tụ. Giả sử: - [a, b] là khoảng phân ly nghiệm α của phương trình f(x) = 0; - Mọi xn tính theo (*) đều ;, ba - Hàm φ(x) có đạo hàm hạng nhất thoả mãn điều kiện: q - hằng số; - Phương pháp lặp hội tụ với mọi x ;, ba ;)( n n qabx xn α khi n ;,1)(' bxaqx Chƣơng 1. Các phƣơng pháp giải phƣơng trình và hệ phƣơng trình 1.2 Phƣơng pháp giải phƣơng trình và hệ phƣơng trình phi tuyến Phương pháp lặp Sai số của phép tính: Ước lượng sai số: ;;)('min bxaxfm ; )( m xf x n n Chú ý: ;, ba- Nếu φ’(x) > 0; Có thể chọn xo bất kỳ - Nếu φ’(x) < 0: xét dấu 2 ).( ba faf ; 2 ba aax o khi ; 2 b ba bx o khi Chƣơng 1. Các phƣơng pháp giải phƣơng trình và hệ phƣơng trình 1.2 Phƣơng pháp giải phƣơng trình và hệ phƣơng trình phi tuyến Phương pháp lặp 0 2 ).( ba faf x = a x = b y = φ(x) y – x < ε α = y x = y đ s s α = y y = φ(x) y – x < ε α = y x = y s x=xo Ví dụ. Tìm nghiệm gần đúng của phương trình f(x) = x3 – x – 1 = 0; 1. Điều kiện phương trình có nghiệm thực và tìm khoảng phân ly nghiệm. -Hàm số xác định và liên tục tại mọi x - f’(x) = 3x2 – 1 = 0 tại 3/1x - Bảng biến thiên hàm số: x f’(x) f(x) 3 1 3 1 0 0+ _ + M m ;01 3 1 33 1 ) 3 1 (fM đồ thị hàm số chỉ cắt trục hoành tại một điểm, phương trình có một nghiệm thực trong khoảng ,3/1 - Chọn khoảng chứa nghiệm [1, 2] f(1) = 1 – 1 – 1 = - 1 <0 f(2) = 8 – 2 – 1 = 5 >0 f(1).f(2) < 0 khoảng [1, 2] chứa nghiệm. Với sai số cho phép ε =10-3 f(x) = x3 – x – 1 = 0; - Đặt x = φ(x) = x3 – 1 ; - Đặt x = φ(x) = x – λf(x) với )( 1 0 xf f’(x) = 3x2 -1 f’(2) = 11; 11 1 );1( 11 1 )( 3 xxxxx )13( 11 1 1)( 2 xx x = 1 φ’(x) = 1-(2/11) <1; x = 2 φ’(x) = 0 <1 φ’(x) = 3x2 ≥ 3 tại mọi x trong khoảng [1, 2] không đảm bảo điều kiện hội tụ. 3 2 3/2 )1( 1 3 1 )1( 3 1 )( x xx - Hoặc đặt x3 = x + 1; 3/1 )1()( xxx 3/1)(0 x tại mọi 2,1x đảm bảo điều kiện hội tụ. xo 1,0 1,259921 x1 1,259921 1,3122938 -0,259921 x2 1,3122938 1,3223538 -0,052373 x3 1,3223538 1,3242687 -0,010060 x4 1,3242687 1,3242826 -0,001915 x5 1,3242826 1,3246326 -0,00185 -0,000364 x6 1,3246326 x φ(x) xi+1 – xiN o Lấy α = 1,3246326 sai số sẽ < ε = 10-3. Lập bảng tính: Chƣơng 1. Các phƣơng pháp giải phƣơng trình và hệ phƣơng trình 1.2 Phƣơng pháp giải phƣơng trình và hệ phƣơng trình phi tuyến Phương pháp lặp f(x) = x3 – x – 1 = 0 Chƣơng trình: Function Fi(x:real):real; Begin Fi:=exp(1/3*ln(x+1)); End; x = φ(x) = x3 – 1 3/1 )1()( xxx Chƣơng 1. Các phƣơng pháp giải phƣơng trình và hệ phƣơng trình 1.2 Phƣơng pháp giải phƣơng trình và hệ phƣơng trình phi tuyến Phương pháp lặp Ví dụ: Program PT2; Uses crt; Var n,i,j,k:integer; x,x0,eps,ss:real; Function Fi(x:real):real; Begin Fi:=exp(1/3*ln(x+1)); End; Chƣơng 1. Các phƣơng pháp giải phƣơng trình và hệ phƣơng trình 1.2 Phƣơng pháp giải phƣơng trình và hệ phƣơng trình phi tuyến Phương pháp lặp Ví dụ: Program PT2; {Chương trình chính} BEGIN clrscr; Chƣơng 1. Các phƣơng pháp giải phƣơng trình và hệ phƣơng trình 1.2 Phƣơng pháp giải phƣơng trình và hệ phƣơng trình phi tuyến Phương pháp lặp Ví dụ: Program PT2; {Chương trình chính} BEGIN clrscr; write (‘Nhập x0 = ’);readln(x0); write (‘Nhập eps = ’);readln(eps); x:=x0;k:=0; Repeat Chƣơng 1. Các phƣơng pháp giải phƣơng trình và hệ phƣơng trình 1.2 Phƣơng pháp giải phƣơng trình và hệ phƣơng trình phi tuyến Phương pháp lặp Ví dụ: Program PT2; BEGIN x:=x0;k:=0; Repeat x:=Fi(x); ss:=abs(x-x0); x0:=x;k:=k+1; Until ss<=eps; Chƣơng 1. Các phƣơng pháp giải phƣơng trình và hệ phƣơng trình 1.2 Phƣơng pháp giải phƣơng trình và hệ phƣơng trình phi tuyến Phương pháp lặp Ví dụ: Program PT2; BEGIN Repeat Until ss<=eps; {In kết quả} write (‘Nghiệm x = ’,x:8:4); readln; END. Chƣơng 1. Các phƣơng pháp giải phƣơng trình và hệ phƣơng trình 1.2 Phƣơng pháp giải phƣơng trình và hệ phƣơng trình phi tuyến Bài tập về nhà Viết chương trình Pascal giải phương trình phi tuyến F(x) = 10x-ex = 0, trong khoảng [0,2].