Giáo trình Phương pháp tính - Chương 2: Chương trình phi tuyến

Mục đích của chương này là tìm nghiệm gần đúng của phương

trình

f(x) = 0 (2.1)

với f(x) là hàm liên tục trên một khoảng đóng hay mở nào đó.

Nghiệm của phương trình (2.1) là giá trị x sao cho f(x) = 0. Trong

giáo trình này ta chỉ xét những nghiệm đơn cô lập. Về mặt hình

học, nghiệm của phương trình (2.1) là hoành độ giao điểm của đường

cong y = f(x) với trục hoành. Khoảng đóng [a, b] (đôi khi ta cũng xét

khoảng mở (a, b)) mà trên đó tồn tại duy nhất nghiệm của phương

trình (2.1) được gọi là khoảng cách li nghiệm. Vì ta chỉ xét nghiệm

đơn của phương trình (2.1), nên nếu hàm f(x) liên tục trên khoảng

cách li nghiệm [a, b] thì f(a) · f(b) < 0. Thông thường, để tìm nghiệm

của phương trình (2.1) chúng ta tiến hành theo hai bước sau:

Bước 1: Tìm tất cả các khoảng cách li nghiệm của phương trình (2.1).

Bước 2: Trong từng khoảng cách li nghiệm, tìm nghiệm gần đúng

của phương trình bằng một phương pháp nào đó với sai số cho

trước.

 

pdf20 trang | Chuyên mục: Phương Pháp Tính | Chia sẻ: tuando | Lượt xem: 696 | Lượt tải: 1download
Tóm tắt nội dung Giáo trình Phương pháp tính - Chương 2: Chương trình phi tuyến, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
thức (2.12) được gọi là công thức lặp Newton và phương
pháp xây dựng dãy lặp theo công thức (2.12) được gọi là phương pháp
Newton1 . Về mặt hình học, để xác định phần tử xn, xuất phát từ
điểm có hoành độ xn−1 trên đồ thị của đường cong y = f(x), ta kẽ
tiếp tuyến với đường cong. Hoành độ giao điểm của tiếp tuyến với
trục hoành sẽ là xn. Vì liù do đó, phương pháp Newton cũng còn được
gọi là phương pháp tiếp tuyến (hình 2.4). Nói chung, sự hội tụ của
dãy lặp Newton phụ thuộc vào cách chọn giá trị lặp ban đầu x0.
Hình 2.4: Ý nghĩa hình học của phương pháp Newton.
Định lí 2.6. Giả sử hàm f(x) có đạo hàm đến cấp hai liên tục và các
đạo hàm f ′(x) và f ′′(x) không đổi dấu trên đoạn [a, b]. Khi đó nếu
chọn x0 thõa điều kiện Fourier f(x0)f ′′(x0) > 0, thì dãy lặp {xn}∞n=1
xác định theo công thức (2.12) sẽ hội tụ về nghiệm x của phương
trình (2.1).
Chú ý:
• Để đánh giá sai số của phương pháp Newton, ta sử dụng công
thức đánh giá sai số tổng quát (2.2).
1Còn được gọi là phương pháp Newton-Raphson
28 PHƯƠNG TRÌNH PHI TUYẾN
• Điều kiện Fourier chỉ là điều kiện đủ, không phải là điều kiện
cần. Từ điều kiện Fourier, ta có thể đưa ra qui tắc chọn giá trị
ban đầu x0 như sau: Nếu đạo hàm cấp một và đạo hàm cấp hai
cùng dấu, thì chọn x0 = b, ngược lại chọn x0 = a.
• Trong phương pháp Newton, điều kiện f ′(x) 6= 0 trong khoảng
cách li nghiệm [a, b] là tiên quyết. Nếu có một điểm c ∈ [a, b] để
cho f ′(c) = 0 thì phương pháp thường dùng là chia đôi để loại
bỏ điểm c đó trước khi sử dụng phương pháp Newton.
Ví dụ 2.12. Cho một số A > 0. Chúng ta muốn tính gần đúng x =√
A ∈ [a, b] với 0 < a < b. Ta có x là nghiệm của phương trình
f(x) = x2 −A = 0 và công thức lặp Newton có dạng
xn = xn−1 − f(xn−1)
f ′(xn−1)
= xn−1 − x
2
n−1 − A
2xn−1
=
1
2
(
xn−1 +
A
xn−1
)
với mọi n = 1, 2, 3, . . ., và thoả công thức đánh giá sai số:
|x− xn| 6 |f(xn)|
m
=
∣∣x2n − A∣∣
2a
= ∆xn
Có thể chứng tỏ rằng dãy lặp hội tụ về
√
A với mọi giá trị lặp dương
ban đầu. Với trường hợp A = 2, x =
√
A ∈ [1, 2], x0 = 1 ta có
bảng sau
n xn ∆xn
0 1.0000000000
1 1.5000000000 1.25× 10−1
2 1.4166666667 3.48× 10−3
3 1.4142156863 3.01× 10−6
4 1.4142135624 2.26× 10−12
Ví dụ 2.13. Bây giờ xét phương trình f(x) = x3 − 3x + 1 = 0 trong
khoảng cách li nghiệm [0, 1]. Ta nhận thấy f ′(x) = 3x2− 3 triệt tiêu
tại x = 1 ∈ [0, 1]. Do đó ta dùng phương pháp chia đôi để thu hẹp
khoảng cách li nghiệm. Vì f(0) > 0 và f(12) < 0 nên nghiệm thuộc
2.4 Phương pháp Newton 29
[0, 12 ], mà trong đó f
′(x) 
9
4
= m
và f ′′(x) = 6x > 0. Vì đạo hàm cấp một và đạo hàm cấp hai khác
dấu, chọn x0 = 0, xây dựng dãy {xn}∞n=0 theo công thức:
xn = xn−1 − x
3
n−1 − 3xn−1+ 1
3x2n−1 − 3
=
2x3n−1 − 1
3x2n−1 − 3
.
Khi đó nghiệm gần đúng xn thoả mãn đánh giá:
|x− xn| 6
∣∣x3n − 3xn + 1∣∣
9/4
= ∆xn .
Kết quả tính toán cho ta bảng sau:
n xn ∆xn
0 0.0000000000
1 0.3333333333 1.65× 10−2
2 0.3472222222 8.70× 10−5
3 0.3472963532 2.55× 10−9
Thuật toán của phương pháp Newton được thể hiện trong Chương
trình 2.3. Đối số của chương trình gồm: f và f1 là biểu thức của
hàm f(x) và đạo hàm của nó, x0 là giá trị lặp ban đầu, m là giá trị
nhỏ nhất của đạo hàm cấp một, eps là sai số cho trước (giá trị mặc
định là 10−6) và N là số lần lặp tối đa cho phép (giá trị mặc định là
100). Kết quả trả về của chương trình gồm x là vectơ nghiệm chứa
dãy lặp {xn}, ss là vectơ chứa sai số và n là số lần lặp thực tế.
Chương trình 2.3. - c2newton : Phương pháp Newton.
function [x,ss,n] = c2newton(f,f1,x0,m,eps,N)
if nargin < 6, N = 100; end;
if nargin < 5, eps = 1.0E-6; end;
if nargin < 4
error('Hàm phải có tối thiểu 4 đối số.');
end;
x=[];ss=[];x=[x;x0];n=1;err=eps+1;ss=[ss;err];
30 PHƯƠNG TRÌNH PHI TUYẾN
while (neps)
x1 = x0-feval(f,x0)/feval(f1,x0);
err=feval(f,x1)/m;
n=n+1; x=[x;x1]; ss=[ss;err]; x0=x1;
end;
2.5 GIẢI HỆ PHƯƠNG TRÌNH PHI TUYẾN
Trong phần này ta sử dụng ý tưởng của phương pháp Newton để
giải hệ đơn giản gồm hai phương trình phi tuyến với hai ẩn. Trường
hợp số phương trình và số ẩn nhiều hơn ta cũng xét tương tự. Xét hệ
F (x, y) = 0, G(x, y) = 0, (2.13)
với F (x, y), G(x, y) là các hàm liên tục và có các đạo hàm riêng theo
các biến x và y liên tục trong lân cận của nghiệm (x, y). Giả sử
J(x, y) =
∣∣∣∣ F ′x F ′yG′x G′y
∣∣∣∣ 6= 0,
với mọi (x, y) trong lân cận của nghiệm. Khi đó nếu chọn (x0, y0) đủ
gần nghiệm (x, y) thì hai dãy {xn} và {yn} thu được từ công thức:
xn = xn−1 − 1
J(xn−1, yn−1)
∣∣∣∣ F (xn−1, yn−1) F ′y(xn−1, yn−1)G(xn−1, yn−1) G′y(xn−1, yn−1)
∣∣∣∣ ,
yn = yn−1 − 1
J(xn−1, yn−1)
∣∣∣∣ F ′x(xn−1, yn−1) F (xn−1, yn−1)G′x(xn−1, yn−1) G(xn−1, yn−1)
∣∣∣∣
sẽ hội tụ về nghiệm của hệ phương trình (2.13).
Ví dụ 2.14. Xét hệ phương trình
F (x, y) = x2 + xy − 10 = 0, G(x, y) = y + 3xy2 − 57 = 0
Chọn x0 = 1.5; y0 = 3.5. Ta có:
F (x0, y0) = −2.5 ∂F
∂x
(x0, y0) = 6.5
∂F
∂y
(x0, y0) = 1.5
G(x0, y0) = 1.625
∂G
∂x
(x0, y0) = 36.75
∂G
∂y
(x0, y0) = 32.5
2.6 Bài tập 31
Như vậy x = 1.5− −2.5(32.5)− 1.625(1.5)
6.5(32.5)− 1.5(36.75) = 2.03603
y = 3.5− −2.5(36.75)− 1.625(6.5)
6.5(32.5)− 1.5(36.75) = 2.84388
2.6 BÀI TẬP
1. Tìm những khoảng cách li nghiệm thực của các phương trình
sau đây:
(a) x4 − 4x+ 1 = 0; (b) ex−x2 + 3x− 2 = 0;
(c) x cos x− 2x2 + 3x− 1 = 0; (d) 4 sinx+ 1− x = 0;
(e) 1− x− e−2x = 0; (f) x4 − 4x3 + 2x2 − 8 = 0;
(g) ex−x2 + x = 0; (h) 3x2 + lnx = 0.
2. Sử dụng phương pháp chia đôi tìm nghiệm gần đúng ở lần lặp
thứ 5 (x5) của phương trình
√
x − cosx = 0 trong [0,1]. Sử dụng
công thức đánh giá sai số tổng quát, tính sai số của nó và so
sánh với sai số tính công thức đánh giá sai số của phương pháp
chia đôi.
3. Sử dụng phương pháp chia đôi tìm nghiệm gần đúng với sai số
nhỏ hơn 10−2 của các phương trình sau:
(a) x = tgx trong [4, 4.5];
(b) 2 + cos (ex−2) − ex = 0 trong [0.5, 1.5].
4. Mỗi một hàm sau đây đều có cùng chung điểm bất động x là
nghiệm của phương trình x4 + 2x2 − x− 3 = 0 :
(a) g1(x) = (3 + x− 2x2)1/4
(b) g2(x) =
(
x+ 3− x4
2
)1/2
(c) g3(x) =
(
x+ 3
x2 + 2
)1/2
(d) g4(x) =
3x4 + 2x2 + 3
4x3 + 4x− 1
Hãy thực hiện bốn lần lặp cho mỗi hàm gk(x), k = 1, 2, 3, 4 xác
định ở trên với cùng giá trị lặp ban đầu x0 = 1 và so sánh các
32 PHƯƠNG TRÌNH PHI TUYẾN
kết quả với nhau. Hàm nào cho chúng ta dãy lặp hội tụ về
nghiệm tốt hơn?
5. Sử dụng phương pháp lặp, tìm nghiệm gần đúng với sai số nhỏ
hơn 10−3 cho các phương trình sau:
(a) x3 − 3x2 − 5 = 0 trong đoạn [3, 4], chọn x0 = 3.5;
(b) x3 − x− 1 = 0 trong đoạn [1, 2], chọn x0 = 1.5;
(c) x = x
2 − ex +2
3
trong đoạn [0, 1], chọn x0 = 0.5.
6. Xét phương trình x+ex = 2. Hãy chứng tỏ rằng phương trình có
nghiệm duy nhất trong đoạn [0,1]. Nếu sử dụng công thức lặp
xn+1 = 2 − exn ta có thể tìm được nghiệm gần đúng của phương
trình hay không? Nếu không, hãy chỉ ra công thức lặp khác tốt
hơn. Hãy giải thích tại sao?
7. Với các phương trình dưới đây, hãy xác định khoảng [a, b] mà
trong đó phương pháp lặp hội tụ. Đánh giá số lần lặp cần thiết
để tìm nghiệm gần đúng với độ chính xác 10−4.
(a) x = 5
x2
+ 2;
(b) x = (ex /3)1/2;
(c) x = 6−x;
(d) x = 1
2
(sinx+ cosx).
8. Sử dụng phương pháp Newton tìm nghiệm gần đúng của các
phương trình sau với độ chính xác 10−5.
(a) ex+2−x + 2 cosx− 6 = 0 trong đoạn [1, 2];
(b) ln (x− 1) + cos (x− 1) = 0 trong đoạn [1.3, 2];
(c) 2x cos 2x− (x− 2)2 = 0 trong đoạn [2, 3] và [3, 4];
(d) (x− 2)2 − lnx = 0 trong đoạn [1, 2] và [e, 4];
(e) ex −3x2 = 0 trong đoạn [0, 1] và [3, 5];
(f) sinx− e−x = 0 trong đoạn [0, 1], [3, 4] và [6, 7].
2.6 Bài tập 33
9. Sử dụng phương pháp Newton để giải phương trình
f(x) =
1
2
+
1
4
x2 − x sinx− 1
2
cos 2x = 0
với giá trị lặp ban đầu x0 = pi/2 với sai số nhỏ hơn 10−5. Giải
thích tại sao kết quả dường như không bình thường đối với
phương pháp Newton. Hãy giải phương trình với x0 = 5pi và
x0 = 10pi.
10. Đa thức P (x) = 10x3 − 8.3x2 + 2.295x − 0.21141 = 0 có nghiệm
x = 0.29. Sử dụng phương pháp Newton với giá trị lặp ban đầu
x0 = 0.28 để tìm nghiệm này. Giải thích điều gì xảy ra.
11. Trong các hệ phương trình sau đây, hãy tìm x1, y1 theo phương
pháp Newton.
(a)
{
y = −x2 + x+ 0.5
y + 5xy = x3 chọn x0 = y0 = 1.2;
(b)
{
y + 1 = x2
5− y2 = x2 chọn x0 = y0 = 1.75;
(c)
{
x2 + y2 = 1
y = x3 chọn x0 = 0.5, y0 = 0.8;
(d)
{
sin(x+ y) = 1
x3 − 3xy + y3 = 1 chọn x0 = 0.2, y0 = 1.2.
12. Vận tốc rơi của một vật được tính theo công thức:
v =
gm
c
(
1− e−(c/m)t
)
,
với g = 9.8m/s2. Biết c = 13.5kg/s, hãy xác định khối lượng m
để cho v = 36m/s tại thời điểm t = 6s. Tính đến ba chữ số đáng
tin sau dấu chấm thập phân.
13. Phương trình Van der Waals đối với chất khí có dạng(
p+
a
ν2
)
(ν − b) = RT,
với R = 0.082054L · atm/(mol ·K), a, b là các hằng số phụ thuộc
vào chất khí cụ thể; p là áp suất; T là nhiệt độ, V là thể tích;
34 PHƯƠNG TRÌNH PHI TUYẾN
n là số mole, ν = V/n là thể tích mole. Hãy xác định thể tích
mole ν của hai chất khí là carbon dioxide (CO2) và oxygen (O2)
dưới áp suất 1, 10 và 100 atm và ở nhiệt độ 300, 500 và 700K.
Biết rằng đối với carbon dioxide ta có a = 3.592, b = 0.04267; còn
đối với oxygen ta có a = 1.360, b = 0.03183.

File đính kèm:

  • pdfgiao_trinh_phuong_phap_tinh_chuong_2_chuong_trinh_phi_tuyen.pdf