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.
46 trang |
Chia sẻ: thuyduongbt11 | Ngày: 10/06/2022 | Lượt xem: 403 | Lượt tải: 0
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].