Tuần 5

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

CuuDuongThanCong.com

https://fb.com/tailieudientucntt

Numerical Methods in Chemical Engineering

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)

f(x) = 0; ( 1 ) y

f – hàm cho trước của đối số x

M

α - nghiệm thực của ( 1 )

α

O

( 2 ) x

g(x)

M

f(α) = 0; - Vẽ đồ thị y = f(x) y

h(x)

- hoặc (1) ~ g(x) = h(x) đồ thị y1 = g(x) và y2 = h(x)

O

CuuDuongThanCong.com

https://fb.com/tailieudientucntt

Hoành độ điểm M nghiệm α. α x

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

y

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 a O

x b

A

CuuDuongThanCong.com

https://fb.com/tailieudientucntt

( 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.

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

y

phi tuyến

a

O

B

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 đó. x b

- hàm f(x) đơn điệu A trong [a, b] :

f’(x) không đổi dấu

CuuDuongThanCong.com

https://fb.com/tailieudientucntt

Đị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).

CuuDuongThanCong.com

https://fb.com/tailieudientucntt

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)

CuuDuongThanCong.com

https://fb.com/tailieudientucntt

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:

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:

. . .

CuuDuongThanCong.com

https://fb.com/tailieudientucntt

Bỏ qua số hạng cuối

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)] :

( a )

Giao điểm với trục hoành (x1, y1 = 0)

CuuDuongThanCong.com

https://fb.com/tailieudientucntt

( 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)

y

. . .

A Tiếp tục vẽ tiếp tuyến với điểm [ (x1, f(x1) ]

b O α

xo=a x1x2

x

CuuDuongThanCong.com

https://fb.com/tailieudientucntt

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)

y

. . .

Tiếp tục vẽ tiếp tuyến với điểm [ (x1, f(x1) ]

x2 x1 O

A a xo=b x α

CuuDuongThanCong.com

https://fb.com/tailieudientucntt

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 * Sai số.

α khi

nghiệm gần đúng sai số: Lấy xn

với

CuuDuongThanCong.com

https://fb.com/tailieudientucntt

(sai số cho phép) Trong thực tế, thường dừng quá trình tính khi: xn – xn-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

Phương pháp Newton-Raphson (phương pháp tiếp tuyến)

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:

e < ε xo = x1

CuuDuongThanCong.com

https://fb.com/tailieudientucntt

x = α

Ví dụ. Tìm nghiệm gần đúng của phương trình

f(x) = x3 – x – 1 = 0;

Với sai số cho phép ε =10-3 1. Điều kiện phương trình có nghiệm thực và tìm khoảng

x

-Hàm số xác định và liên tục tại mọi x

phân ly nghiệm.

_ f’(x) + 0 + 0

- f’(x) = 3x2 – 1 = 0 tại

M f(x) m

- Bảng biến thiên hàm số:

- Chọn khoảng chứa nghiệm [1, 2] f(1) = 1 – 1 – 1 = - 1 <0 f(2) = 8 – 2 – 1 = 5 >0

đồ 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

CuuDuongThanCong.com

https://fb.com/tailieudientucntt

f(1).f(2) < 0 khoảng [1, 2] chứa nghiệm.

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:

f’(x) = 3x2 – 1 > 0 trong khoảng [1, 2]

f(1) = -1; f(2) = 5;

f”(x) = 6x > 6 trong khoảng [1, 2]

CuuDuongThanCong.com

https://fb.com/tailieudientucntt

Chọn đầu tính x = 2. f(2).f”(2) > 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 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

11,0

5,0 1,145755 6,165288 1,5454545 1,3596148 2,0 1,5454545

1,3258015 1,3247190 1,3247182 4,545657 4,273245 4,264641

CuuDuongThanCong.com

https://fb.com/tailieudientucntt

0,153704 0,004625 0,0000034 0,0000010 1,3596148 1,3258015 1,3247190 1,3247182

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) Chƣơng trình:

Function F(x:real):real;

Begin

f’(x) = 3x2 – 1 = 0

F:=x*sqr(x)-x-1;

End;

Function dF(x:real):real;

Begin

dF:=3*sqr(x)-1;

End;

CuuDuongThanCong.com

https://fb.com/tailieudientucntt

f(x) = x3 – x – 1 = 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 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;

CuuDuongThanCong.com

https://fb.com/tailieudientucntt

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; …

CuuDuongThanCong.com

https://fb.com/tailieudientucntt

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 …

CuuDuongThanCong.com

https://fb.com/tailieudientucntt

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;

CuuDuongThanCong.com

https://fb.com/tailieudientucntt

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.

CuuDuongThanCong.com

https://fb.com/tailieudientucntt

CuuDuongThanCong.com

https://fb.com/tailieudientucntt

CuuDuongThanCong.com

https://fb.com/tailieudientucntt

CuuDuongThanCong.com

https://fb.com/tailieudientucntt

CuuDuongThanCong.com

https://fb.com/tailieudientucntt

CuuDuongThanCong.com

https://fb.com/tailieudientucntt

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: x1 = φ(xo); x2 = φ(x1); . . . . . . . . . xn = φ(xn-1); n = 1, 2, . . .

CuuDuongThanCong.com

https://fb.com/tailieudientucntt

- 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

nghiệm α của phương trình Sự hội tụ của quá trình tính toán - Giả sử khi n ; xn

phương pháp lặp hội tụ, có thể coi xn là nghiệm gần đúng .

CuuDuongThanCong.com

https://fb.com/tailieudientucntt

-Quá trình tính cũng có thể phân kỳ, xn ngày càng đi xa khỏi nghiệm.

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

x = φ(x);

Ý nghĩa hình học f(x) = 0; x + f(x) – x = 0; Đặt φ(x) = x + f(x);

y x1 = φ(xo); x2 = φ(x1); . . . . . . . . . xn = φ(xn-1); n = 1, 2, . . . y

y=φ(x)

O O

x3α

x1

x2

x3

CuuDuongThanCong.com

https://fb.com/tailieudientucntt

x x x2 x1 xo x0α

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 - Hàm φ(x) có đạo hàm hạng nhất thoả mãn điều kiện:

q - hằng số;

-

CuuDuongThanCong.com

https://fb.com/tailieudientucntt

Phương pháp lặp hội tụ với mọi x α khi n xn

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ố:

Chú ý: - Nếu φ’(x) > 0; Có thể chọn xo bất kỳ

- Nếu φ’(x) < 0:

khi

xét dấu

CuuDuongThanCong.com

https://fb.com/tailieudientucntt

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

x=xo

y = φ(x)

s x = y y – x < ε

CuuDuongThanCong.com

https://fb.com/tailieudientucntt

α = y

Ví dụ. Tìm nghiệm gần đúng của phương trình

f(x) = x3 – x – 1 = 0;

Với sai số cho phép ε =10-3 1. Điều kiện phương trình có nghiệm thực và tìm khoảng

x

-Hàm số xác định và liên tục tại mọi x

phân ly nghiệm.

_ f’(x) + 0 + 0

- f’(x) = 3x2 – 1 = 0 tại

M f(x) m

- Bảng biến thiên hàm số:

- Chọn khoảng chứa nghiệm [1, 2] f(1) = 1 – 1 – 1 = - 1 <0 f(2) = 8 – 2 – 1 = 5 >0

đồ 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

CuuDuongThanCong.com

https://fb.com/tailieudientucntt

f(1).f(2) < 0 khoảng [1, 2] chứa nghiệm.

f(x) = x3 – x – 1 = 0;

- Đặt x = φ(x) = x3 – 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ụ.

- Đặt x = φ(x) = x – λf(x) với

f’(x) = 3x2 -1 f’(2) = 11;

x = 1 φ’(x) = 1-(2/11) <1; x = 2 φ’(x) = 0 <1

tại mọi

đảm bảo điều kiện hội tụ.

CuuDuongThanCong.com

https://fb.com/tailieudientucntt

- Hoặc đặt x3 = x + 1;

Lập bảng tính:

No x φ(x) xi+1 – xi

1,0 1,259921 -0,259921

1,259921 1,3122938 -0,052373

1,3122938 1,3223538 -0,010060

1,3223538 1,3242687

-0,001915

1,3242687 1,3242826

-0,00185

1,3242826 1,3246326

-0,000364

Lấy α = 1,3246326 sai số sẽ < ε = 10-3.

CuuDuongThanCong.com

https://fb.com/tailieudientucntt

1,3246326 xo x1 x2 x3 x4 x5 x6

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

Function Fi(x:real):real;

phi tuyến Phương pháp lặp Chƣơng trình:

Begin

x = φ(x) = x3 – 1

Fi:=exp(1/3*ln(x+1));

End;

CuuDuongThanCong.com

https://fb.com/tailieudientucntt

f(x) = x3 – x – 1 = 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

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;

CuuDuongThanCong.com

https://fb.com/tailieudientucntt

phi tuyến Phương pháp lặp Ví dụ:

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

Program PT2;

… {Chương trình chính} BEGIN

clrscr; …

CuuDuongThanCong.com

https://fb.com/tailieudientucntt

phi tuyến Phương pháp lặp Ví dụ:

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

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 …

CuuDuongThanCong.com

https://fb.com/tailieudientucntt

phi tuyến Phương pháp lặp Ví dụ:

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

Program PT2;

… BEGIN … x:=x0;k:=0; Repeat

x:=Fi(x); ss:=abs(x-x0); x0:=x;k:=k+1;

Until ss<=eps;

CuuDuongThanCong.com

https://fb.com/tailieudientucntt

phi tuyến Phương pháp lặp Ví dụ:

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

Program PT2;

… BEGIN

Repeat …

Until ss<=eps; {In kết quả} write (‘Nghiệm x = ’,x:8:4); readln;

END.

CuuDuongThanCong.com

https://fb.com/tailieudientucntt

phi tuyến Phương pháp lặp Ví dụ:

CuuDuongThanCong.com

https://fb.com/tailieudientucntt

CuuDuongThanCong.com

https://fb.com/tailieudientucntt

CuuDuongThanCong.com

https://fb.com/tailieudientucntt

CuuDuongThanCong.com

https://fb.com/tailieudientucntt

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à

CuuDuongThanCong.com

https://fb.com/tailieudientucntt

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].