TRƢỜNG ĐẠI HỌC MỎ ĐỊA CHẤT
BỘ MÔN TOÁN BÀI GIẢNG
PHƢƠNG PHÁP TÍNH
THÁNG 09/2014
ta gọi sai số tuyệt đối củ a số xấp xỉ a là đại lƣợng ∆
a
, càng bé càng tốt, sao cho |a - A| ≤ ∆
a
.
Từ bất đẳng thức trên, ta có a - ∆
a
≤ A ≤ a - ∆
a
.
Vậy giá trị của số đúng A đƣợc viết nhƣ sau: A = a ± ∆
a
.
3. Sai số tƣơng đối.
Đại lƣợng
a
a
a
gọi là sai số tƣơng đối của số a.
Sai số tƣơng đối cho biết mức độ tin cậy của số xấp xỉ. Sai số tuyệt đối không phản ánh
đƣợc điều đó. Giả sử đo chiều dài của hai cung đƣờng, đƣợc kết qủa:
S
1
= 1500m ± 50cm
S
1
= 10m ± 50cm
k
đƣợc gọi là đáng nghi nếu
10 / 2 10 2
kk
aa
.
Ví dụ: cho a = 21.53674, sai số Δ = 0.004. Có 2≤
Các chữ số đáng tin là các
chữ số trƣc chữ số thập phân thứ 2, đó là 2,1,5,3. Các chữ số còn lại là đáng nghi.
Nếu sai số là Δ = 0.006. Thì 2Δ = 0.012 ≤ 10
-1
. Chữ số đáng tin là chữ số thập phân thứ
nhất. Các chữ số thập phân còn lại là đáng nghi.
5. Cách viết số xấp xỉ.
Cách thứ nhất: Viết số xấp xỉ kèm theo sai số tuyệt đối. Chẳng hạn 12,345 ± 0,005. Cách
này dùng để biểu diễn kết quả tính hoặc phép đo. 2
Cách thứ hai: Viết số xấp xỉ theo quy tắc: Mọi chữ số có nghĩa đều đáng tin. Ví dụ khi viết
a = 1.26 thì sai số đƣợc hiểu là 0.005 (hoặc nhỏ hơn). Cách này thƣờng dùng trong các
1.41
0.00013422659
10.02
1.41421
0.00014866399
0.00862
1.414213563
0.00014867678
0.0001472
Sự khác biệt ln giữa hai vế chứng tỏ sai số quy tròn gây ra những hậu quả rất đáng ngại.
7. Sai số tính toán.
Khi tính toán biểu thức số học f(x
1
, ,x
n
), từ sai số của đối số x
i
, ta nhận đƣợc sai số của kết
quả tính biểu thức. Sai số này có thể sẽ rất ln.
a) Công thức tổng quát. Giả sử phải tính biểu thức u = f(x
1
, ,x
n
), vi sai số của mỗi x
i
là
Δ
i
. Gọi X
i
u U u X x x
xx
f x x
u
ux
u u x
b) Sai số của tổng. Xét tổng u = x
1
+ x
2
+ + x
n
. Theo công thức tổng quát, hoặc tính trực
tiếp, ta đƣợc
2,01 2
,
Nếu lấy
2,01 1,42, 2 1,42
thì u = 0,01. Sai số trong trƣờng hợp này là
Δ = (0,005 + 0,005) / (1,42 - 1,41) = 1.
Nếu viết u dƣi dạng
2.01 2 2.01 2
2.01 2 0.01
0,00353
1,42 1,41 2,83
2.01 2
u
Sai số Δ = (0,005 + 0,005) / (1,42 +1,41) = 0,005
Rõ ràng kết quả tốt hơn và sai số trong trƣờng hợp này nhỏ hơn nhiều cách tính trực tiếp.
c) Sai số của tích và thương. Theo công thức tổng quát: nếu u = x
1
x
2
hoặc u = x
1
thứ tự sau: Gán 1 cho ans / bấm ans ans - 2ans + 4 / bấn dấu = liên tiếp n+1 lần.
c) Sử dụng ô nhớ khác: Để gán giá trị cho ô nhớ bất kỳ (có 9 ô nhớ), ta bấm giá trị cần
gán, rồi bấm lần lưt Shift / Sto (phím RCL) / bấm chữ cái là tên ô nhớ. Có 9 chữ cái là a
(phím (-)), b (phím ,,,), c (phím hyp) v.v .
Muố n sử dụ ng giá trị củ a ô nhớ nà o đó , bấ m Alpha / bấ m phí m chữ tương ứ ng. 4
Chƣơng 2. GIẢI GẦN ĐÚNG PHƢƠNG TRÌNH PHI TUYẾN Chương này đưa ra các phương pháp giải gần đúng nghiệm thực của phương trình
phi tuyến f(x) = 0. Trong đa số trưng hp phương trình này không có công thức tìm
nghiệm. Ngay cả khi có công thức tìm nghiệm, thì do các hệ số của phương trình chỉ đưc
đưa ra một cách gần đúng, nên việc xác định chính xác nghiệm không còn ý nghĩa. Vì vậy
việc giải gần đúng nghiệm, với việc đánh giá đưc sai số của nó đóng vai trò quan trọng.
I. KHOẢNG PHÂN LY NGHIỆM VÀ SAI SỐ TỔ NG QUÁ T
1. Định nghĩa. Gọi [a,b] là khoảng phân ly nghiêm của phƣơng trình f(x) = 0 nếu khoảng
này chứa đúng một nghiệm của phƣơng trình đã cho.
Việc xác định khoảng phân ly nghiệm là yêu cầu bắt buộc để thực hiện đƣợc các
phƣơng pháp đƣợc trình bày dƣi đây.
2. Cách xác định khoảng phân ly.
x
2
4sin
2
x
yx
5
-15 -10 -5 5 10 15
-10
10
Bƣc 1. Chọn khoảng phân ly xuất phát [a
1
; b
1
] vi a
1
= a, b
1
= b. Tìm trung điểm
11
1
2
ba
x
.
Bƣc 2. Nếu f(x
1
) = 0 thì x
1
là nghiệm. Dừng thuật toán.
Nếu không, xét các trƣờng hợp Hình 1 Hình 2
Nếu f(x
1
)f(a
1
a x
1
b
Hình 1
a x
1
b Hình 2 6
Bƣc 3.
Đối vi khoảng [a
2
,b
2
], lặp lại quá trình trên n lần, đƣợc nghiệm gần đúng
2
=
limb
n
. Đặt α = lima
n
= limb
n
.
Có f(α) = limf(a
n
) = limf(b
n
). Vì f(a
n
) và f(b
n
) luôn trái dấu, nên f(α) = 0. Vậy α là
nghiêm. Lại do x
n
bị kẹt giữa a
n
và b
n
nên cũng có limx
n
= α. ĐPCM.
3. Sai số. Do x
n
là trung điểm của [a
n
Giải: f(1) < 0, f(2) > 0. Kết quả đƣợc ghi trong bảng sau
N
a
n
f(a
n
)<0
b
n
f(b
n
)>0
x
n
f(x
n
)
1
1
2
1,5
+ 0,875
2
1
1,5
1,25
- 0,2969
3
1,25
thành giá trị mới, mút còn lại để nguyên. Trong bảng, các giá trị gạch dưới là các mút
đưc đổi mới. 7 II. PHƢƠNG PHÁP LẶP
1. Thuật toán. Xét bài toán f(x) = 0. Luôn giả thiết f(a)f(b) < 0, và khoảng phân ly nghiệm
là [a,b].
Bước 1. Đƣa phƣơng trình về dạng x = φ(x), trong đó φ(x) là hàm số liên tục, thoả mãn
điều kiện hội tụ :
i) |φ'(x)| ≤ q < 1
ii) φ(x) [a,b]
Bước 2. Chọn điểm xuất phát tuỳ ý x
0
[a,b].
Bước 3. Lập dãy nghiệm xấp xỉ theo công thức sau:
x
1
= φ(x
0
|x
0
- x*|. (2.4)
Vì q < 1 nên dãy {x
n
} hội tụ về nghiệm đúng x*. ĐPCM.
Mô tả hình học
Chú ý: Ở bƣc 1, có thể thay điều kiện φ(x) [a,b] (ii) bằng cách chọn điểm xuất phát
theo cách sau:
+ Nếu trên [a,b], φ'(x) > 0 thì chọn x
0
tùy ý trên [a,b].
+ Nếu φ'(x) < 0, thì chọn
0
0
( ) ( ) 0
2
( ) ( ) 0
2
ab
x a khi f a f
ab
x b khi f b f
q
q
x x x x
q
(2.5)
a x
1
x
2
x
0
b 8
| ≤ ≤ q
n-1
|x
1
- x
0
|.
Thay vào (1) nhận đƣợc (2). ĐPCM.
Ví dụ: Tìm nghiệm gần đúng của phƣơng trình x
3
- x - 1 - 0, bíết khoảng phân ly là [1,2].
Giải: Đƣa phƣơng trình về dạng
3
1.xx
Có
2
3
11
' , ó 0 ' , 1,2
3
31
cx
x
.
Ngoài ra, trên đoạn [1, 2] có
- x
4
= 0.00036, nên sai số là 0.0002.
III. PHƢƠNG PHÁP DÂY CUNG
1. Thuật toán. Biết trƣc [a,b] là khoảng phân ly nghiệm của phƣơng trình f(x) = 0. Ngoài
ra, f(x) là hàm số liên tục và các đạo hàm f '(x), f ''(x) có dấu không đổi trên (a,b).
Trƣc tiên ta xây dựng thuật toán trong hai trƣờng hợp riêng
a) Trường hợp f(a).f ''(x)>0.
Chọn điểm xuất phát x
0
= b.
Lập phƣơng trình dây cung AB:
0
0
00
y f x
xx
f a f x a x
Hoành độ giao điểm của dây AB vi trục hoành là
11
01
1
,
nn
nn
n
f x a x
x b x x
f a f x
(2.6)
a x
2
x
1
b
x
0
n
} là dãy giảm, bị chặn dƣi, nên tồn tại x* = lim x
n
.Lấy gii hạn hai vế
của (2.5), đƣợc
**
**
*
f x a x
xx
f a f x
. từ đó f(x*) = 0. ĐPCM.
a) Trường hợp f(a).f ''(x)<0.
Chọn điểm xuất phát x
0
= a.
Lập phƣơng trình dây cung AB:
0
0
00
y f x
xx
) luôn cùng dấu vi f(x
0
) (do tính lồi của hàm f(x)). Vậy chọn
khoảng mi [x
1
,b] thì khoảng này nằm trong [x
0
,b] và bảo toàn điều kiện f(x
1
)f ''(x) > 0.
Lặp lại quá trình trên n lần, đƣợc
11
01
1
,
nn
nn
n
f x b x
x a x x
f b f x
(2.8)
trong đó
0
0
, , '' 0
, , '' 0
x b d a Khi f a f x
x a d b Khi f a f x
2. Sai số. Giả sử trên [a,b], có M ≥ f '(x) ≥ m. Khi đó dãy nghiệm gần đúng của phƣơng
pháp dây cung thoả mãn đánh giá
1
*
n n n
Mm
x x x x
m
b
x
0
B
A
a x
1
x
2
b
B
A 10
'
n
n n n
n
n n n n n n
n n n
n n n n n n n
f d f x
x x f x f x
dx
f c x x f c x x f c x x x x
f c f c x x f c x x
f c f c
Mm
x x x x x x x x
f c m
n
n
nn
f x x f
xx
x
f x f
xx
Kết quả
x
1
= 1
x
2
= 1,16667
x
3
= 1, 25311
x
4
0 0 0
'y f x f x x x
.
Hoành độ giao điểm của tiếp tuyến vi trục hoành là
0
10
0
'
fx
xx
fx
.
x
1
thỏa mãn: a < x
1
< b, và f(x
1
) luôn cùng dấu vi f(x
0
) (do f(x) lồi). Vậy chọn khoảng
mi [x
x
2
x
0
b
A
b
a x
1
x
2
B
A 11
Hoành độ giao điểm của tiếp tuyến vi trục hoành là
0
10
0
'
fx
xx
fx
x
1
có tính chất: a < x
1
< b, và f(x
1
) luôn cùng dấu vi f(x
0
) (do tính lồi của hàm f(x)). Vậy
chọn khoảng mi [a,x
1
] thì khoảng này nằm trong [a,x
0
] và bảo toàn điều kiện f(x
1
)f ''(x) >
0. Lặp lại quá trình trên n lần, đƣợc
n
fx
xx
fx
, trong đó
0
0
, '' 0
, '' 0
x a Khi f a f x
x b Khi f a f x
(2.12)
2. Sai số.
Đặt
n-1
, đƣợc
2
1 1 1 1
22
2
11
1
' ''
2
1
''
22
n n n n n n n
O
n n n n n
f x f x f x x x f x x
M
f x f x x x x
A 12 2
*
2
1
11
()
2
n
n n n
fx
M
x x x x
mm
. ĐPCM.
Ví dụ.
Tìm nghiệm gần đúng của phƣơng trình x
Đƣợc kết quả
x
0
= 2
x
1
= 1,54545
x
2
= 1,35961
x
3
= 1,32580
x
4
= 1,32472
x
5
=1,32471
Sai số: Có x
n
- x
n-1
= 0,0001. M
2
= max{2x} = 12 ; m
1
phép chia đa thức P
n
cho (x - x
0
). Các hệ số của thƣơng và số dƣ đƣợc xác định theo sơ đồ
sau, gọi là sơ đồ Hocner tại x
0
:
a
0
a
1
a
2
a
3
a
n-1
a
n
0 x
0
b
0
x
0
b
1
trong đó b
0
= a
0
, b
k
= a
k
+ x
0
b
k-1
, k=1,2 n.
Kết quả: P
n
= (x - x
0
)(b
0
x
n-1
+ b
1
x
n-1
+ +b
n-2
(x
0
) = b
n
.
Ví dụ: Tính x
4
- x
3
+ 2x
2
+ x - 1 tại x = 2.
Sơ đồ Hocner là
1 -1 2 1 -1
2 2 8 18
(2)
x
1 1 4 9 17
Vậy P(2) = 17.
Chú ý: Cách tính giá trị đa thức bằng sơ đồ Hocner giảm thiểu đƣợc rất nhiều sai số tính
toán vì số phép nhân cần sử dụng ít hơn so vi tính trực tiếp.
Để minh hoạ, xét ví dụ:
Tính giá trị đa thức P = x
4
+ x
3
+ 2x
2
+ x + 1 tại x = 2,01.
2 6 20
(2)
x
1 3 10 29
2 10
(2)
x
1 5 20
2
(2)
x
1 7
1 14
Kết quả : P = (x-2)
4
+ 7(x-2)
3
,f(x
2
)):
h(x) = a(x-x
0
)
2
+ b(x-x
0
) + c, trong đó:
2 0 2 1 2 1 2 0
2 0 2 1 1 0
2
2
2 0 2 1
2 1 2 0
2 0 2 1 1 0
2
x x f f x x f f
a
x x x x x x
x x f f
x x f f
b
1
, x
2
, x
3
, lặp lại quá trình trên. Cứ tiếp tục nhƣ vậy cho đến khi |x
n
- x
n-1
| <
ε vi ε là sai số cho trƣc.
Phƣơng pháp trên gọi là phƣơng pháp Muller. Phƣơng pháp này có thể áp dụng cho
phƣơng trình f(x) = 0 tuỳ ý.
Ví dụ: Giải gần đúng phƣơng trình 6x
4
- 40x
3
+ 5x
2
+ 20x + 6 = 0. Sai số định trƣc 10
-5
.
Giải: Chọn x
0
= 0,5 ; x
1
= 1 ; x
2
= 1,5 ta đƣợc
-35,000
-6,7500
3
1,28785
-1,37624
0,03053
7,53712
-26,9293
-1,37627 15
4
1.23746
0,12695
0,00281
17,13164
-30,6915
0,12695
5
1,24160
0,00219
-0,00001
16
BÀI TẬP VỀ GIẢI PHƢƠNG TRÌNH
2
- sinx = 0 bằng
phƣơng pháp Newton vi n=3 (các giá trị lấy 4 chữ số thập phân) và đánh
giá sai số.
Bài 6. Tính gần đúng nghiệm ln nhất của phƣơng trình x
4
- 5x - 2 = 0 bằng
phƣơng pháp lặp vi n=3 (các giá trị lấy 4 chữ số thập phân) và đánh giá sai
số.
Bài 7. Cho phƣơng trình
010
2
x
ex
. Tìm gần đúng nghiệm dƣơng của
phƣơng trình trên bằng phƣơng pháp lặp vi n=3 (các giá trị lấy 4 chữ số thập
phân) và đánh giá sai số.
Bài 8. Dùng phƣơng pháp Newton giải gần đúng nghiệm ln nhất của
phƣơng trình
015
1
x
ex
vi sai số
4
10
a a a x b
xx
a a a x b
xx
a a a x b
xx
(3.1)
Gọi A là ma trận hệ số, b là cột tự do và x là véc tơ ẩn, thì hệ đưc viết dưới dạng
ma trận Ax = b. Nếu tồn tại ma trận nghịch đảo A
-1
thì nghiệm của hệ tồn tại và duy nhất,
tính theo công thức Cramer x = A
-1
b. Khi n có giá trị lớn, việc tìm nghiệm theo công thức
này đòi hỏi nhiều phép tính, vì vậy chúng ta sẽ đưa ra đây các phương pháp khác giải hệ
đã cho.
I. PHƢƠNG PHÁP KHỬ GAUSS
1. Thuật toán
a) Quá trình thuận. Đƣa hệ (3.1) về dạng tam giác.
Bƣc 1: Gọi phần tử a
21
12
22 2 2
1
12
12
1
2
n
n
n
n
nn
n nn n
x
xx
a a b
ax
xx
a a b
a x n
xx
a a b
2 n
n
n
n
n
n nn n
x
x
x
a a b
x
x
a a b
x
x
a a b
18
Lặp lại bƣc 1 cho đến hết. Cuối cùng nhận đƣợc hệ tam giác, tƣơng đƣơng vi hệ ban đầu
nhƣ sau:
1
11
12
1
12 1
2
2
2
2
2
(3.4)
b) Quá trình ngƣợc. Từ phƣơng trình cuối cùng của hệ (3.5), tìm đƣợc ẩn x
n
. Thế vào
phƣơng trình ngay phía trên, tìm đƣợc ẩn x
n-1
. Tiếp tục cho đến phƣơng trình đầu tiên, tìm
đƣợc toàn bộ nghiệm.
Ví dụ:
Giải hệ
3
1 2 4
3
14
3
1 2 4
3
1 2 4
2 2 4 8 2
3 2 2 8
7 4 3 2 7
2 8 5 5 2
x
x x x
x
xx
x
x x x
x
x x x
x
4
b
-2
-2
4
8
-2 6,86
5,86
4,43
0
3
0
-2
2
8 -0,86
3,14
8,57
0
7
4
-3
2
7
-2
2
8 0,75
2,25
5
-2
-2
4
8
-2
1
2,36
0
2
8
5
5
2
0,49
5
1
II. PHƢƠNG PHÁP GAUSS - JORDAN
Phƣơng pháp Gauss - Jordan là một biến dạng của phƣơng pháp Gauss. Điểm khác
biệt là: Ở mỗi bƣc khử hệ số của ẩn x
j
, ta không chỉ khử vi các phƣơng trình từ thứ j+1
đến hết, mà khử đối vi tất cả các phƣơng trình, trừ ra chính phƣơng trình thứ j. 19
Ví dụ: Giải hệ sau bằng phƣơng pháp Gauss - Jordan
3
1 2 4
3
1 2 4
3
1 2 4
3
1 2 4
8 7 1
4 2 4 3 4
2 3 1
b
x
1
x
2
x
3
x
4
b
8
7
1
-1
-1
1
0,68
0,43
0,59
4
-2
4
3
4
-0,13
1 -0,45
-0,23
-5,52
3,48
3,52
4,52
1
0,19
-0,05
-2,76
-1,26
-2,74
-0,75
1
1,3
1.2
2,76
0,14 -3
-4,5
-3
1 2,5 5
6,5
6
1
1
Nghiệm là (-0,68; 0,14; 2,5; 1)
III. PHƢƠNG PHÁP NHÂN TỬ HAI TAM GIÁC
1. Thuật toán hai tam giác.
Xét hệ phƣơng trình Ax = b. Nếu ma trận A đƣợc phân tích thành tích A = D.T, trong
đó D là ma trận tam giác dƣi, T là ma trận tam giác trên, thì hệ đƣợc giải một cách dễ
dàng bằng hai lần khử liên tiếp. Điều kiện để phân tích đƣợc nhƣ trên là det(A) ≠ 0. Dƣi
Các phần tử của D và T đƣợc xác định theo công thức sau:
11
1
jj
t a j n 1
1
11
(2 )
i
i
a
d i n
t
1
ij ij ik
Ma trận A ma trận D
Cách tính cột tiếp theo của D nhƣ sau:
=
1
[ x - (Hàng D trong ô vuông). (cột T trong ô)]
Ma trận T
Quy tắc thực hiện
Bước 1: Tính hàng đầu của T và cột đầu của D: Hàng đầu tiên của T là hàng đầu của A.
Cột đầu tiên của D là cột đầu của A, sau khi đã chia cho a
11
.
Bước 2: Tính các hàng 2 của T và cột 2 của D: Hàng của T đƣợc tính trƣc, và bắt đầu từ
phần tử trên đƣờng chéo, rồi tính dần sang bên phải. Tiếp đến tính cột của D, bắt đầu từ
phần tử dƣi đƣờng chéo, rồi tính dần xuống dƣi. Riêng phần tử trên đƣờng chéo của D
luôn là 1.
Bước 3: Tính hàng và cột tiếp theo. Thực hiện giống bƣc 2 cho đến hết. Giả sử đã tính
đƣợc k hàng của T và k cột của D. Khi đó cách tính hàng tiếp theo của T đƣợc mô tả nhƣ
Phân tích thành tích hai tam giác nhƣ sau
1 1 0 3 1 0 0 0 1 1 0 3
2 1 1 1 2 1 0 0 0 1 1 5
3 1 1 2 3 4 1 0 0 0 3 13
1 2 3 1 1 3 0 1 0 0 0 13
A D T
Trƣc hết giải phƣơng trình Dy = b. Do D là ma trận tam giác dƣi, nên khử nghiệm từ
Phân tích ma trận A thành tích hai tam giác nhƣ sau
1 1 0 0 1 0 0 0 1 1 0 0
3 1 2 0 3 1 0 0 0 2 2 0
.
0 4 1 5 0 2 1 0 0 0 3 5
0 0 3 6 0 0 1 1 0 0 0 1
Giải hệ
1
2
3
4
1 0 0 0 3
11
1
y
y
y
y
.
Giải hệ
1
2
3
4
1 1 0 0 3
0 2 2 0 0
0 0 3 5 11
0 0 0 1 1
x
x
. 22 IV. TÌM MA TRÂN NGHỊCH ĐẢO
Cho A =
x x x
= ?
Do AA
-1
= E, nên
11 12 1
21 22 2
12
n
n
n n nn
a a a
a a a
a a a
là nghiệm của hệ:
11 12 1
21 22 2
12
1 0 0
0 1 0
; ;
0 0 1
n
n
n n nn
x x x
x x x
A A A
x x x
2
E
3
E
4
7
2
8
4
0
1
0
0
4
-3
2
6
1
0
0
0
6
-1
4
6
0
0
1
0
4
0 23 -1,14
2,43
-4,29
0
-0,57
0
1
1
0,97
0,83
0,07
0,1
0
0
1
0,62
1
0,62
-0,9
-0,24
0,14
0
0 3,14
-5,31
-0,28
-0,41
0
1 -1,17
0,14
-0,66
-0,48
1
0
1 2,46
0,15
0,25
0
-0,62
1,33
0,19
1 -0,25
0,17
0,08
-0,17 1
0,61
0,45
-0,92
-0,02
1
0,41
0,35
-0,54
-0,20
Vậy ma trận nghịch đảo là A
-1
=
(chuẩn Ơclit)