You are on page 1of 76

PHƯƠNG PHÁP TÍNH

CHƯƠNG 2: TÍNH GẦN ĐÚNG NGHIỆM THỰC CỦA MỘT


PHƯƠNG TRÌNH

Chu Bình Minh

Khoa Khoa học ứng dụng, Trường ĐH Kinh tế - Kỹ thuật Công nghiệp
TABLE OF CONTENTS
1. Giới thiệu
2. Một số phương pháp khoảng
Phương pháp tìm kiếm gia tăng
Phương pháp chia đôi
3. Một số phương pháp mở
Phương pháp dây cung
Phương pháp Newton-Raphson
Phương pháp lặp đơn
4. 0-điểm của đa thức
Tính giá trị của đa thức
Giảm bậc đa thức
Phương pháp Laguerre

1
GIỚI THIỆU
GIỚI THIỆU

NGHIỆM CỦA PHƯƠNG TRÌNH

Hình học: Nghiệm là giao của đồ thị y = f (x) với Ox

2
GIỚI THIỆU

NGHIỆM CỦA PHƯƠNG TRÌNH

3
GIỚI THIỆU

NGHIỆM GẦN ĐÚNG CỦA PHƯƠNG TRÌNH


Tìm nghiệm phương trình f (x) = x 9 − 27x 7 + 20x + 45 = 0?

Nghiệm phương trình f (x) = x 2 − 2 = 0 là 2 = 2.4142135... ≈???

4
GIỚI THIỆU

PHƯƠNG PHÁP TÌM NGHIỆM GẦN ĐÚNG CỦA PHƯƠNG TRÌNH


SỬ DỤNG ĐỒ THỊ

5
GIỚI THIỆU

PHƯƠNG PHÁP TÌM NGHIỆM GẦN ĐÚNG CỦA PHƯƠNG TRÌNH


PHƯƠNG PHÁP THỬ-SAI
Giải phương trình
f (x) = x 3 − x − 1 = 0
Bước 1: Chọn x1 = 0 → f (x1 ) = f (0) = −1 6= 0
Bước 2: Chọn x2 = 2 → f (x2 ) = f (2) = 5 6= 0
Bước 3: Chọn x3 = 1 → f (x3 ) = f (1) = −1 6= 0
...

6
GIỚI THIỆU

PHƯƠNG PHÁP TÌM NGHIỆM GẦN ĐÚNG CỦA PHƯƠNG TRÌNH


PHƯƠNG PHÁP HIỆN NAY
Giải phương trình
f (x) = x 3 − x − 1 = 0
Bước 1: Chọn x1 = 0 → f (x1 ) = f (0) = −1 6= 0
Bước 2: Chọn x2 = 1.5 → f (x2 ) = f (1.5) = 0.88 6= 0
Bước 3: Chọn x3 = 1.2 → f (x3 ) = f (1.2) = 0.1 6= 0
...
Bước n: Chọn xn thoả mãn |f (xn )| ≤ |f (xn−1 )|.

n → ∞; ⇒ |f (xn )| → 0.

Khi n >> 0 ⇒ |f (xn )| ≈ 0 nên xn là nghiệm xấp xỉ

7
GIỚI THIỆU

PHƯƠNG PHÁP TÌM NGHIỆM GẦN ĐÚNG CỦA PHƯƠNG TRÌNH


PHƯƠNG PHÁP HIỆN NAY
Bước n: Chọn xn thoả mãn |f (xn )| ≤ |f (xn−1 )|.
n >> 0 ⇒ |f (xn )| ≈ 0 nên xn là nghiệm xấp xỉ.

8
MỘT SỐ PHƯƠNG PHÁP KHOẢNG
PHƯƠNG PHÁP TÌM KIẾM GIA TĂNG

BÀI TOÁN:
Cho khoảng [a, b] chứa nghiệm của phương trình f (x) = 0. Tìm
khoảng con [x1 , x2 ] có độ dài ∆x chứa nghiệm của phương trình.
Ý TƯỞNG:
Tìm khoảng con [x1 , x2 ], x2 = x1 + ∆x thoả mãn:
f (x1 ) · f (x2 ) < 0
THUẬT TOÁN TÌM KIẾM GIA TĂNG:
B1. x1 := a; x2 := x1 + ∆x
B2. Tính f (x1 )f (x2 )
B3.
• Nếu f (x1 )f (x2 ) < 0 thì [x1 , x2 ] là khoảng cần tìm.
• Nếu f (x1 )f (x2 ) > 0 thì x1 := x2 ; x2 := x1 + ∆x . Quay lại B2.
SAI SỐ:

|x2 − α| ≤ ∆x . 9
CÁCH VIẾT XẤP XỈ

VÍ DỤ
Sử dụng số gia tìm kiếm ∆x = 0.2, tìm khoảng chứa 0-điểm dương
nhỏ nhất của f (x) = x 3 − 10x 2 + 5.
GIẢI.
Vòng lặp 1
B1. Đặt x1 = 0; x2 = 0 + 0.2 = 0.2
B2. Tính f (0.0).f (0.2) = 5 · 4.608
B3. Do f (x1 )f (x2 ) > 0 nên đặt x1 := 0.2; x2 := 0.2 + 0.2 = 0.4. Quay
lại B2.
Vòng lặp 2
B2. Tính f (0.2).f (0.4) = 4.608 · 3.464
B3. Do f (x1 )f (x2 ) > 0 nên đặt x1 := 0.4; x2 := 0.4 + 0.2 = 0.6. Quay
lại B2.

10
CÁCH VIẾT XẤP XỈ

VÍ DỤ
Sử dụng số gia tìm kiếm ∆x = 0.2, tìm khoảng chứa 0-điểm dương
nhỏ nhất của f (x) = x 3 − 10x 2 + 5.
GIẢI.
Vòng lặp 3
B2. Tính f (0.4).f (0.6) = 3.464 · 1.616
B3. Do f (x1 )f (x2 ) > 0 nên đặt x1 := 0.6; x2 := 0.6 + 0.2 = 0.8. Quay
lại B2.
Vòng lặp 4
B2. Tính f (0.6).f (0.8) = 1.616 · (−0.888)
B3. Do f (x1 )f (x2 ) < 0 dừng lặp; khoảng chứa nghiệm
[x1 , x2 ] = [0.6, 0.8] .

11
CÁCH VIẾT XẤP XỈ

HẠN CHẾ CỦA PHƯƠNG PHÁP


• Có thể bỏ lỡ mất hai nghiệm gần nhau nếu khoảng cách ∆x lớn
hơn khoảng cách hai nghiệm này;
• Không xác định được nghiệm kép;
• Nếu hàm f (x) không liên tục thì phương pháp có thể không chính
xác.

12
PHƯƠNG PHÁP CHIA ĐÔI

BÀI TOÁN:
Cho khoảng [a, b] chứa nghiệm của phương trình f (x) = 0. Tìm
khoảng con chứa nghiệm [x1 , x2 ] có độ dài nhỏ hơn sai số ε cho trước.
Ý TƯỞNG:
Tìm khoảng con [x1 , x2 ] chứa nghiệm bằng cách giảm liên tiếp MỘT
NỬA khoảng chứa nghiệm [a, b].
THUẬT TOÁN CHIA ĐÔI:
B1. x1 := a; x2 := b;
B2. x3 := (x1 + x2 )/2
B3. Tính f (x1 )f (x3 )
• Nếu f (x1 )f (x3 ) < 0 thì x2 := x3 .
• Nếu f (x1 )f (x3 ) > 0 thì x1 := x3 .
B4. Tính x2 − x1
• Nếu x2 − x1 < ε dừng. Khoảng chứa nghiệm [x1 , x2 ].
• Nếu x2 − x1 > ε thì quay lại B2.
13
PHƯƠNG PHÁP CHIA ĐÔI

CHIA ĐÔI

Input f, a, b, ε

c = (a + b)/2

NO
f (c)f (a) < 0

YES
a := c b := c

NO
b−a<ε

YES
Print α = c

END
14
PHƯƠNG PHÁP CHIA ĐÔI

SAI SỐ:
Chiều dài đoạn chứa nghiệm giảm một nửa sau mỗi vòng lặp. Do vậy,
chiều dài đoạn chứa nghiệm sau n vòng lặp là
b−a
|x2 − x1 | = .
2n
Do vậy, sai số của phương pháp:
b−a
|x3 − α| ≤ .
2n

15
PHƯƠNG PHÁP CHIA ĐÔI

SAI SỐ:
Chiều dài đoạn chứa nghiệm giảm một nửa sau mỗi vòng lặp. Do vậy,
chiều dài đoạn chứa nghiệm sau n vòng lặp là
b−a
|x2 − x1 | = .
2n
Do vậy, sai số của phương pháp:
b−a
|x3 − α| ≤ .
2n
Số vòng lặp (n) cần thiết để có nghiệm xấp xỉ với sai số ko quá ε. Từ
b−a
≤ε
2n
nên
b−a
n ≥ log2 .
ε

15
PHƯƠNG PHÁP CHIA ĐÔI

VÍ DỤ
Sử dụng phương pháp chia đôi, hãy xấp xỉ nghiệm của phương trình
f (x) = x 3 − x − 1 = 0 trên đoạn [1, 2] với sai số không vượt quá 0.2.
Nếu muốn xấp xỉ nghiệm với sai số tuyệt đối không vượt quá 0.001
thì ta cần thực hiện bao nhiêu lần lặp.
GIẢI
Do f (1)f (2) = (−1)(5) = −5 < 0 nên phương trình x 3 − x − 1 = 0 tồn
tại nghiệm trên đoạn này. Áp dụng phương pháp chia đôi với
x1 = 1, x2 = 2, ε = 0, 2 ta có:
Vòng lặp 1:
x1 +x2 1+2
1. x3 = 2 = 2 = 1.5.
2. f (x1 )f (x3 ) = f (1)f (1.5) < 0 nên x2 := 1.5.
3. |x2 − x1 | = |1.5 − 1| = 0.5 > ε = 0.2 nên chuyển sang vòng lặp
sau.

16
PHƯƠNG PHÁP CHIA ĐÔI

GIẢI
Vòng lặp 2:
x1 +x2 1+1.5
1. x3 = 2 = 2 = 1.25.
2. f (x1 )f (x3 ) = f (1)f (1.25) > 0 nên x1 := 1.25.
3. |x2 − x1 | = |1.5 − 1.25| = 0.25 > ε = 0.2 nên chuyển sang vòng
lặp sau.

Vòng lặp 3:
x1 +x2 1.25+1.5
1. x3 = 2 = 2 = 1.375.
2. f (x1 )f (x3 ) = f (1.25)f (1.375) < 0 nên x2 := 1.375.
3. |x2 − x1 | = |1.375 − 1.25| = 0.125 < ε = 0.2 nên kết thúc lăp.

Nghiệm xấp xỉ của phương trình là α := x3 = 0.1375 với sai số không


vượt quá 0, 2.
17
PHƯƠNG PHÁP CHIA ĐÔI

GIẢI
Quá trình lặp để xấp xỉ nghiệm của phương trình được minh hoạ
trong Hình

α 1.5
Vòng lặp 1
1 2
1.25
Vòng lặp 2
1 1.5
1.375
Vòng lặp 3
1.25 1.5

Gọi n là số lần lặp nhỏ nhất để sai số tuyệt đối không quá 0.001. Khi
đó, n thoả mãn
1
≤ 0.001 ⇒ n ≥ 10.
2n
Vậy ta cần thực hiện ít nhất 10 lần lặp để được nghiệm xấp xỉ với sai
số tuyệt đối không quá 0.001. 18
MỘT SỐ PHƯƠNG PHÁP MỞ
PHƯƠNG PHÁP DÂY CUNG

BÀI TOÁN:
Tìm nghiệm xấp xỉ cho phương trình f (x) = 0 trên [a, b] t/m:

(g1) Phương trình f (x) = 0 có nghiệm α ∈ [a, b].


(g2) f 0 (x), f 00 (x) không đổi dấu trên đoạn [a, b].

Ý TƯỞNG
Do nghiệm của phương trình f (x) = 0 là giao của cung AB với trục
hoành nên ý tưởng của phương pháp dây cung là thay cung AB bởi
đoạn thẳng (dây cung) đi qua A, B. Khi đó nghiệm của phương trình
được xấp xỉ bởi giao của đoạn thẳng AB với trục hoành. Thực hiện
quá trình này liên tiếp ta sẽ được dãy nghiệm xấp xỉ {xn }.

19
PHƯƠNG PHÁP DÂY CUNG

y y = f (x)
B

x0 = a x1 x2 x3
O α b x
A2
A1 A3
step 3
A step 2
step 1
20
PHƯƠNG PHÁP DÂY CUNG

THUẬT TOÁN DÂY CUNG


Trường hợp f 0 (x) > 0 trên đoạn [a, b]. Cố định B, chọn x0 = a.
Bước lặp 1 Xác định x1 . Lập phương trình đường thẳng qua A, B
y − f (x0 ) x − x0
= .
f (b) − f (x0 ) b − x0
Cho y = 0 ta có x1 được xác định:
f (x0 )
x1 = x0 − (b − x0 ).
f (b) − f (x0 )
Bước lặp 2 Xác định x2 . PT đường thằng qua A1 = (x1 , f (x1 )), B:
y − f (x1 ) x − x1
= .
f (b) − f (x1 ) b − x1
Cho y = 0 ta có x2 :
f (x1 )
x2 = x1 − (b − x1 ).
f (b) − f (x1 )

21
PHƯƠNG PHÁP DÂY CUNG

THUẬT TOÁN DÂY CUNG

..
.
Bước lặp n Xác định xn . Giả sử sau n − 1 bước ta có nghiệm xấp xỉ
xn−1 . Đặt An−1 = (xn−1 , f (xn−1 )). Lập phương trình đường thẳng qua
An−1 , B
y − f (xn−1 ) x − xn−1
= .
f (b) − f (xn−1 ) b − xn−1
Cho y = 0 ta có hoành độ giao điểm xn của đường thẳng qua An−1 , B
với trục hoành là

f (xn−1 )
xn = xn−1 − (b − xn−1 ). (1)
f (b) − f (xn−1 )

22
PHƯƠNG PHÁP DÂY CUNG

Trường hợp f 0 (x) < 0 trên đoạn [a, b]


f (xn−1 )
xn = xn−1 − (a − xn−1 ), x0 = b. (2)
f (a) − f (xn−1 )

y
y = f (x)
A

x3 x2 x1 x0 = b
O α x
A2
step 3 A1
step 2 B
step 1
23
PHƯƠNG PHÁP DÂY CUNG

DÂY CUNG

a, b, ε

YES
f (a)f 00 (a) > 0

NO
x0 := a, a := b x0 := b

f (x0 )(x0 −a)


x1 := x0 − f (x0 )−f (a) , err := |x1 − x0 |

NO
x0 := x1 err < ε

YES
Print α = x1

END
24
PHƯƠNG PHÁP DÂY CUNG

ĐỊNH LÝ

Nếu f (x) = 0, x ∈ [a, b] thoả mãn (g1); (g2) thì xn hội tụ về nghiệm
α. Hơn nữa, nếu m ≤ |f 0 (x)| ≤ M, ∀x ∈ [a, b] thì ta có các công thức
đánh giá sai số sau
|f (xn )|
|xn − α| ≤ , (3)
m
|M − m|
|xn − α| ≤ |xn − xn−1 | . (4)
m

25
PHƯƠNG PHÁP DÂY CUNG

VÍ DỤ
Sử dụng phương pháp dây cung để xấp xỉ nghiệm của phương trình
f (x) = x 3 − x − 1 = 0, x ∈ [1, 2].
GIẢI
Do f (1)f (2) = (−1)5 < 0 nên f (x) = 0 có nghiệm trên [1, 2].
f 0 (x) = 3x 2 − 1, f 00 (x) = 6x.∀x ∈ [1, 2], f 00 (x) ≥ 6 > 0, f 0 (x) ≥ f 0 (1) =
2 > 0. (g1), (g2) thoả mãn.
Do f (2)f 00 (2) = 60 > 0 nên cố định b = 2 và chọn x0 = a = 1 và lặp
theo công thức
f (xn−1 )
xn = xn−1 − (b − xn−1 ), i = 1, 2, 3, . . .
f (b) − f (xn−1 )

3
xn−1 − xn−1 − 1
xn = xn−1 − 3
(2 − xn−1 ), i = 1, 2, 3, . . .
5 − (xn−1 − xn−1 − 1)

26
PHƯƠNG PHÁP DÂY CUNG

GIẢI
x0 = 1.
Vòng lặp n = 1.

x03 − x0 − 1
x1 = x0 − (2 − x0 ) = 1.16667
5 − (x03 − x0 − 1)

Vòng lặp n = 2.

x13 − x1 − 1
x2 = x1 − (2 − x1 ) = 1.25311
5 − (x13 − x1 − 1)

Vòng lặp n.
3
xn−1 − xn−1 − 1
xn = xn−1 − 3
(2 − xn−1 )
5 − (xn−1 − xn−1 − 1)

27
PHƯƠNG PHÁP DÂY CUNG

GIẢI
∀x ∈ [1, 2], m = 2 ≤ f 0 (x) = 3x 2 − 1 ≤ 11 = M. Sai số được xác định
M −m 11 − 2
∆n = |xn − xn−1 | = |xn − xn−1 |
m 2
Kết quả tính toán được cho trong Bảng

Bước lặp Nghiệm xấp xỉ xn Sai số ∆


1 1.16666666666667 0.75
2 1.25311203319502 0.389004149377593
3 1.29343740191868 0.181464159256482
4 11.31128102148723 0.0802962880584793
5 1.31898850356646 0.034683669356528

Bảng 1: Bảng kết quả tìm nghiệm của phương trình x 3 − x − 1 = 0 trên
đoạn [1, 2] bằng phương pháp lặp đơn

28
PHƯƠNG PHÁP DÂY CUNG

29
PHƯƠNG PHÁP NEWTON-RAPHSON

BÀI TOÁN:
Tìm nghiệm xấp xỉ cho phương trình f (x) = 0 trên [a, b] t/m:

(g1) Phương trình f (x) = 0 có nghiệm α ∈ [a, b].


(g2) f 0 (x), f 00 (x) không đổi dấu trên đoạn [a, b].

Ý TƯỞNG
Tại mỗi điểm lặp, ta xấp xỉ đường cong f (x) bởi đường thằng
y = a0 + a1 x tiếp tuyến với f (x) tại điểm này1 . Khi đó, nghiệm của
phương trình f (x) = 0 sẽ được xấp xỉ bởi nghiệm phương trình
a0 + a1 x = 0.

1 chính vì vậy nên phương pháp Newton-Raphson còn được gọi là phương pháp tiếp

tuyến

30
PHƯƠNG PHÁP NEWTON-RAPHSON

y
A0

A1

A2
x
O α x2 x1 x0
y = f (x) step 2 step 1
31
PHƯƠNG PHÁP NEWTON-RAPHSON

Lấy x0 ∈ [a, b] thoả mãn f (x0 )f 00 (x0 ) > 0


Bước lặp 1: PT tiếp tuyến với đồ hà f (x) tại điểm (x0 , f (x0 )):
y = f (x0 ) − f 0 (x0 )(x − x0 ).
x1 là giao điểm của tiếp tuyến với trục hoành
f (x0 )
x1 = x0 − .
f 0 (x0 )
Bước lặp 2: Viết PT tiếp tuyến với đồ hàm f (x) tại điểm (x1 , f (x1 )). x2
là giao điểm của tiếp tuyến này giao trục hoành
f (x1 )
x2 = x1 − .
f 0 (x1 )
..
.
Bước lặp n: Ta xây dựng được công thức xấp xỉ nghiệm sau
f (xn−1 )
xn = xn−1 − .
f 0 (xn−1 ) 32
PHƯƠNG PHÁP NEWTON-RAPHSON

ĐỊNH LÝ

Giả sử phương trình f (x) = 0, x ∈ [a, b] thoả mãn (g1), (g2). Nếu ta
chọn x0 ∈ [a, b] sao cho f (x0 )f 00 (x0 ) > 0 thì xn hội tụ về α khi n → ∞.
Hơn nữa, nếu |f 0 (x)| ≥ m, |f 00 (x)| ≤ M, ∀x ∈ [a, b] thì ta có công
thức đánh giá sai số sau đây

|f (xn )|
|xn − α| ≤ , (5)
m
M 2
|xn − α| ≤ |xn − xn−1 | . (6)
2m

33
PHƯƠNG PHÁP NEWTON-RAPHSON

VÍ DỤ
Sử dụng phương pháp Newton-Raphson để xấp xỉ nghiệm của
phương trình
f (x) = x 3 − x − 1 = 0, x ∈ [1, 2].
GIẢI
Do f (1)f (2) = (−1)5 < 0 nên f (x) = 0 có nghiệm trên [1, 2].
f 0 (x) = 3x 2 − 1, f 00 (x) = 6x.∀x ∈ [1, 2], f 00 (x) ≥ 6 > 0, f 0 (x) ≥ f 0 (1) =
2 > 0. (g1), (g2) thoả mãn.
Do f (2)f 00 (2) = 60 > 0 nên chọn x0 = b = 2 và lặp theo công thức
3
f (xn−1 ) xn−1 − xn−1 − 1
xn = xn−1 − 0
= xn−1 − 2
, n = 1, 2, . . .
f (xn−1 ) 3xn−1 −1

34
PHƯƠNG PHÁP NEWTON-RAPHSON

GIẢI
x0 = 2.
Vòng lặp n = 1.

x03 − x0 − 1
x1 = x0 − = 1.54545
3x02 − 1

Vòng lặp n = 2.

x13 − x1 − 1
x2 = x1 − = 1.35961
3x12 − 1

Vòng lặp n.
3
xn−1 − xn−1 − 1
xn = xn−1 − 2
3xn−1 −1

35
PHƯƠNG PHÁP NEWTON-RAPHSON

GIẢI
∀x ∈ [1, 2], m = 2 ≤ f 0 (x) = 3x 2 − 1.f 00 = 6x ≤ 12 = M. Sai số được
xác định
M 2 12 2
∆n = |xn − xn−1 | = |xn − xn−1 |
2×m 2×2
Kết quả tính toán được cho trong Bảng 2.

Bước lặp Nghiệm xấp xỉ xn Sai số ∆


1 1.54545454545455 0.619834710743802000
2 1.35961491591518 0.103609103721981000
3 1.32580134500585 0.003430072732922690
4 1.32471904941713 3.51409122408669E-06
5 1.32471795724586 3.57851423362127E-12

Bảng 2: Bảng kết quả tìm nghiệm của phương trình x 3 − x − 1 = 0 trên
đoạn [1, 2] bằng phương pháp Newton
36
PHƯƠNG PHÁP NEWTON-RAPHSON

37
PHƯƠNG PHÁP NEWTON-RAPHSON

NEWTON

Produce f (x), f 0 (x)

x0 , ε, m, M

f (x0 ) M (x1 −x0 )2


x1 := x0 − f 0 (x0 ) , err := 2m

NO
x0 := x1 err < ε

YES
Print α = x1

END 38
PHƯƠNG PHÁP LẶP ĐƠN

Ý TƯỞNG

Thay vì giải phương trình


f (x) = e−x − x = 0
ta giải phương trình
x = ϕ(x) = e−x

39
PHƯƠNG PHÁP LẶP ĐƠN

Ý TƯỞNG
Thay vì tìm nghiệm xấp xỉ của phương trình

f (x) = 0, x ∈ [a, b]

ta tìm nghiệm xấp xỉ của phương trình

x = ϕ(x), x ∈ [a, b]

40
PHƯƠNG PHÁP LẶP ĐƠN

Ý TƯỞNG
Thay vì tìm nghiệm xấp xỉ của phương trình

f (x) = 0, x ∈ [a, b]

ta tìm nghiệm xấp xỉ của phương trình

x = ϕ(x), x ∈ [a, b]

Chọn x0 ∈ [a, b] và lặp theo ϕ(x)

x1 = ϕ(x0 )
x2 = ϕ(x1 )
..
.
xn = ϕ(xn−1 )

40
PHƯƠNG PHÁP LẶP ĐƠN

THUẬT TOÁN LẶP ĐƠN


Biến đổi phương trình f (x) = 0 về dạng x = ϕ(x) và thực hiện tính.

x1 = ϕ(x0 )
x2 = ϕ(x1 )
..
.
xn = ϕ(xn−1 )

41
PHƯƠNG PHÁP LẶP ĐƠN

ĐỊNH LÝ
Xét phương pháp lặp xn = ϕ(xn−1 ), nếu ta có các điều kiện sau

(i) Phương trình f (x) = 0 tồn tại duy nhất nghiệm trong đoạn [a, b];
(ii) xn = ϕ(xn−1 ) ∈ (a, b), n = 1, 2, . . .;
(iii) |ϕ0 (x)| ≤ q < 1, ∀x ∈ [a, b], với q là hằng số,

thì phương pháp lặp xn = ϕ(xn−1 ) hội tụ. Hơn nữa, sai số của
phương pháp được đánh giá bởi các công thức sau
q
|α − xn | ≤ |xn − xn−1 | . (7)
1−q

qn
|α − xn | ≤ |x1 − x0 | . (8)
1−q

42
PHƯƠNG PHÁP LẶP ĐƠN

LẶP ĐƠN

x0 , ε, q

x1 := ϕ(x0 ), err := |x1 − x0 |

NO
x0 := x1 err < ε

YES
Print α = x1

END
43
PHƯƠNG PHÁP LẶP ĐƠN

VÍ DỤ
Sử dụng phương pháp lặp đơn để xấp xỉ nghiệm của phương trình
f (x) = x 3 − x − 1 = 0, x ∈ [1, 2].
GIẢI
Biến đổi phương trình về dạng
x = x 3 − 1 = ϕ(x)
Lấy x0 = 1 ∈ [1, 2] và sử dụng hàm lặp ϕ ta có
x1 = ϕ(x0 ) = x03 − 1 = 13 − 1 = 0
x2 = ϕ(x1 ) = x13 − 1 = 03 − 1 = −1
x3 = ϕ(x2 ) = x23 − 1 = (−1)3 − 1 = −2
···
3
xn = ϕ(xn−1 ) = xn−1 −1

44
PHƯƠNG PHÁP LẶP ĐƠN

GIẢI
Biến đổi phương trình về dạng
√3
x = x + 1 = ϕ(x)
Lấy x0 = 1 ∈ [1, 2] và sử dụng hàm lặp ϕ ta có
p √
3

3
x1 = ϕ(x0 ) = 3 x0 + 1 = 1 + 1 = 2
3 √
p q
3
x2 = ϕ(x1 ) = 3 x1 + 1 = 2+1
p
3
x3 = ϕ(x2 ) = x2 + 1
···
p
3
xn = ϕ(xn−1 ) = xn−1 + 1

1 −3
q √
1 −3
ϕ0 (x) = (x + 1)2 < 4 < 1, ∀x ∈ [1, 2]
3 3
nên xn hội tụ về nghiêm.
45
PHƯƠNG PHÁP LẶP ĐƠN

GIẢI

46
PHƯƠNG PHÁP LẶP ĐƠN

GIẢI

47
PHƯƠNG PHÁP LẶP ĐƠN

GIẢI
Sai số được đánh giá
 n  n
1 1
|α − xn | ≤ |2 − 1| =
3 3
hoặc ta đánh giá theo công thức
1
3 1
|α − xn | ≤ 1
|xn − xn−1 | = |xn − xn−1 | .
1− 3
2
Kết quả tính toán được cho trong Bảng 3.

Bước lặp Nghiệm xấp xỉ c Sai số ∆c


1 1,259921050 0,130000
2 1,312293837 0,027000
3 1,322353819 0,005000
4 1,324068754 0,000960
5 1,324632625 0,000182
48
0-ĐIỂM CỦA ĐA THỨC
TÍNH GIÁ TRỊ CỦA ĐA THỨC

Pn (x) = a1 x n + a2 x n−1 + · · · + an x + an+1 , (9)

• Dễ thực hiện các phép toán: tổng, hiệu, tích


• Dễ thực hiện tính đạo hàm, tích phân
• Sử dụng phổ biến để xấp xỉ các hàm số khác
• Dễ biểu diễn
Pn (x) = a = [a1 , a2 , . . . , an+1 ]

49
TÍNH GIÁ TRỊ CỦA ĐA THỨC

Số lượng phép nhân cần thiết để tính giá trị đa thức

P3 (x) = a1 x 3 + a2 x 2 + a3 x + a4

50
TÍNH GIÁ TRỊ CỦA ĐA THỨC

Số lượng phép nhân cần thiết để tính giá trị đa thức

P3 (x) = a1 x 3 + a2 x 2 + a3 x + a4

viết lại P3 (x) dưới dạng

P3 (x) = x a1 x 2 + a2 x + a3 + a4
 

P3 (x) = x [x(a1 x + a2 ) + a3 ] + a4

Giá trị đa thức được tính toán thông qua dãy các phép tính

P0 (x) = a1
P1 (x) = a1 x + a2 = xP0 (x) + a2
P2 (x) = a1 x 2 + a2 x + a3 = x(a1 x + a2 ) + a3 = xP1 (x) + a3
P3 (x) = a1 x 3 + a2 x 2 + a3 x + a4 = x a1 x 2 + a2 x + a3 + a4 = xP2 (x) + a4 .
 

50
TÍNH GIÁ TRỊ CỦA ĐA THỨC

Giá trị của đa thức Pn (x) được tính dưới dạng

P0 (x) = a1
Pi (x) = xPi−1 (x) + ai+1 , i = 1, 2, . . . , n (10)

51
TÍNH GIÁ TRỊ CỦA ĐA THỨC

Giá trị của đa thức Pn (x) được tính dưới dạng

P0 (x) = a1
Pi (x) = xPi−1 (x) + ai+1 , i = 1, 2, . . . , n (10)

Đạo hàn bậc nhất và bậc hai (10) ta có

P00 (x) = 0, Pi0 (x) = Pi−1 (x) + xPi−1


0
(x), i = 1, 2, . . . , n. (11a)
P000 (x) = 0, Pi00 (x) = 2Pi−1
0 00
(x) + xPi−1 (x), i = 1, 2, . . . , n. (11b)

51
TÍNH GIÁ TRỊ CỦA ĐA THỨC

VÍ DỤ
Tính P(2), P 0 (2), P 00 (2) với P(x) = 3x 4 − 10x 3 − 48x 2 − 2x + 12.
GIẢI
Áp dụng công thức (10)-(11), thực hiện lặp:
Bước 1 i = 1: P0 (2) = a1 = 3, P00 (2) = P000 (2) = 0
Bước 2 i = 2:
P1 (2) = 2 × P0 (2) + a2 = 2 × 3 + (−10) = −4
P10 (2) = P0 (2) + 2 × P00 (2) = 2 + 2 × 0 = 3
P100 (2) = 2 × P00 (2) + 2 × P000 (2) = 2 × 0 + 2 × 0 = 0.
Bước 3 i = 3:
P2 (2) = 2 × P1 (2) + a3 = 2 × (−4) + (−48) = −56
P20 (2) = P1 (2) + 2 × P10 (2) = (−4) + 2 × 3 = 2
P200 (2) = 2 × P10 (2) + 2 × P100 (2) = 2 × 3 + 2 × 0 = 6.

52
TÍNH GIÁ TRỊ CỦA ĐA THỨC

VÍ DỤ
Tính P(2), P 0 (2), P 00 (2) với P(x) = 3x 4 − 10x 3 − 48x 2 − 2x + 12.
GIẢI
Áp dụng công thức (10)-(11), thực hiện lặp:
Bước 4 i = 4:
P3 (2) = 2 × P2 (2) + a4 = 2 × (−56) + (−2) = −114
P30 (2) = P2 (2) + 2 × P20 (2) = (−56) + 2 × 2 = −52
P300 (2) = 2 × P20 (2) + 2 × P200 (2) = 2 × 2 + 2 × 6 = 16.

Bước 5 i = 5:
P4 (2) = 2 × P3 (2) + a5 = 2 × (−114) + 12 = −216
P40 (2) = P3 (2) + 2 × P30 (2) = (−114) + 2 × (−52) = −218
P400 (2) = 2 × P30 (2) + 2 × P300 (2) = 2 × (−52) + 2 × 16 = −72.
Vậy P(2) = −216, P 0 (2) = −218, P 00 (2) = −72.
53
TÍNH GIÁ TRỊ CỦA ĐA THỨC

VÍ DỤ
Tính P(2), P 0 (2), P 00 (2) với P(x) = 3x 4 − 10x 3 − 48x 2 − 2x + 12.
GIẢI
Quá trình tính toán minh hoạ trong bảng sau

0 00
i ai Pi−1 (2) Pi−1 (2) Pi−1 (2)
1 3 3 0 0
2 -10 -4 3 0
3 -48 -56 2 6
4 -2 -114 -52 16
5 12 -216 -218 -72

Bảng 4: Tính P(2), P 0 (2), P 00 (2) với P(x) = 3x 4 − 10x 3 − 48x 2 − 2x + 12

54
TÍNH GIÁ TRỊ CỦA ĐA THỨC

evalPOLY

Input x0 , a

n := length(a) − 1
P := a(1), dP := 0, ddP := 0

k = 1, 2, . . . , n

ddP := ddP · x0 + 2 · dP
dP := dP · x0 + P
P := P · x0 + a(k + 1)

Print P, dP, ddP

END

55
GIẢM BẬC ĐA THỨC

Nếu r là nghiệm của Pn (x) = 0 thì ta có

Pn (x) = (x − r )Pn−1 (x). (12)

Nghiệm Pn−1 (x) là nghiệm Pn (x). Tìm Pn−1 (x)?

56
GIẢM BẬC ĐA THỨC

Nếu r là nghiệm của Pn (x) = 0 thì ta có

Pn (x) = (x − r )Pn−1 (x). (12)

Nghiệm Pn−1 (x) là nghiệm Pn (x). Tìm Pn−1 (x)?


Đặt

Pn−1 (x) = b1 x n−1 + b2 x n−2 + · · · + bn−1 x + bn

thì (12) trở thành

a1 x n + a2 x n−1 + · · · + an x + an+1 = (x − r )(b1 x n−1 + b2 x n−2 + · · · + bn−1 x +

Đồng nhất hệ số hai vế, ta có

b1 = a1 , b2 = a2 + rb1 , · · · , bn = an + rbn−1 . (13)

56
GIẢM BẬC ĐA THỨC

VÍ DỤ
Một 0-điểm của đa thức P4 (x) = 3x 4 − 10x 3 − 48x 2 − 2x + 12 là
x = 6. Hãy giảm cấp đa thức bằng thuật toán Horner, tức là tìm P3 (x)
sao cho P4 (x) = (x − 6)P3 (x).
GIẢI
Với r = 6 và n = 4, (13) trở thành
b1 = a1 = 3
b2 = a2 + 6b1 = −10 + 6(3) = 8
b3 = a3 + 6b2 = −48 + 6(8) = 0
b4 = a4 + 6b3 = −2 + 6(0) = −2.

Do đó
P3 (x) = 3x 3 + 8x 2 − 2.

57
GIẢM BẬC ĐA THỨC

i ai bi
1 3 a1 = 3
2 -10 a2 + 6 × b1 = 8
3 -48 a3 + 6 × b2 = 0
4 -2 a4 + 6 × b3 = −2
5 12

Bảng 5: Tính hệ số của đa thức giảm bậc

58
PHƯƠNG PHÁP LAGUERRE

Pn (x) = (x − r1 )(x − r2 )...(x − rn ).


Ta sẽ sử dụng Pn (x), Pn0 (x) và Pn00 (x) để xấp xỉ cho r1 . Đặt
n
Pn0 (x) X 1
G(x) = = . (14)
Pn (x) x − ri
i=1

Lấy đạo hàm hai vế ta có


2 n
Pn0 (x) Pn00 (x) X

1
H(x) = −G 0 (x) = − = . (15)
Pn (x) Pn (x) (x − ri )2
i=1

Đặt
1 1
α(x) = , β(x) + δi (x) = , i = 2, 3, . . . , n, (16)
x − r1 x − ri
1
với β(x) là trung bình của các x−ri , i = 2, 3, . . . , n. Ta có
n
X
δi (x) = 0.
59
i=2
PHƯƠNG PHÁP LAGUERRE

Đặt
n
X
δ2 = δi2 (x) = 0. (17)
i=2

Từ (16) và (17), ta viết lại (14) và (15) dạng

G(x) = α(x) + (n − 1)β(x) (18)



H(x) = α2 (x) + (n − 1)β 2 (x) + δ 2 . (19)
Từ (18) và (19), khử β(x) và giải theo α(x), ta có

p
G(x) ± (n − 1)[nH(x) − G 2 (x) − nδ 2 ]
α(x) = . (20)
n
60
PHƯƠNG PHÁP LAGUERRE

Từ (16) và (20) suy ra

n
r1 = x − p . (21)
G(x) ± (n − 1)[nH(x) − G 2 (x) − nδ 2 ]

(0)
Đặt δ 2 = 0 và lấy giá trị ban đầu r1 tuỳ ý, ta có công thức lặp
Laguerre

(k) (k−1) n
r1 = r1 −   r h    i , k = 1, 2,
(k−1) (k−1) (k−1)
G r1 ± (n − 1) nH r1 − G2 r1
(22)

61
PHƯƠNG PHÁP LAGUERRE

1. Lấy giá trị ban đầu x0 ;


2. Tính Pn (x0 ), Pn0 (x0 ) và Pn00 (x0 ) bằng các công thức (10) và (11);
3. Tính G(x0 ), H(x0 ) bằng công thức (14), (15):

Pn0 (x0 ) Pn00 (x0 )


G(x0 ) = , H(x0 ) = G 2 (x0 ) − ;
Pn (x0 ) Pn (x0 )

4. Xác định nghiệm xấp xỉ mới x1 từ (22). Chú ý chọn dấu sao cho
mẫu số có trị tuyệt đối (modul) lớn (điều này cải thiện tốc độ hội
tụ):
n
x1 = x0 − p ;
G(x0 ) ± (n − 1) [nH(x0 ) − G 2 (x0 )]

5. Nếu |x1 − x0 | < ε thì dừng. Ngược lại Đặt x0 := x1 và lặp lại các
bước 2-5.

62
PHƯƠNG PHÁP LAGUERRE

VÍ DỤ
Với giá trị ban đầu x0 = 3 − i. Hãy xấp xỉ nghiệm của đa thức
P3 (x) = x 3 − 4.0x 2 − 4.48x + 26.1 bằng cách lặp công thức Laguerre
sau một lần lặp.
GIẢI
Sử dụng giá trị ban đầu, ta tính
x0 = 3 − i, x02 = 8 − 6i, x03 = 18 − 26i.
Tính Pn (x0 ), Pn0 (x0 ) và Pn00 (x0 ) bằng các công thức (10) và (11)
P3 (x0 ) = x03 − 4.0x02 − 4.48x0 + 26.1
= (18 − 6i) − 4.0(8 − 6i) − 4.48(3 − i) + 26.1 = −1.34 + 2.48i
P30 (x0 ) = 3x02 − 8.0x0 − 4.48
= 3(8 − 6i) − 8.0(3 − i) − 4.48 = −4.48 − 10.0i
P300 (x0 ) = 6x0 − 8.0 = 6(3 − i) − 8.0 = 10.0 − 6.0i.

63
PHƯƠNG PHÁP LAGUERRE

GIẢI
Tính G(x0 ), H(x0 ) bằng công thức (14), (15):

P30 (x0 ) −4.48 − 10.0i


G(x0 ) = = = −2.36557 + 3.08462i
P3 (x0 ) −1.34 + 2.48i
P 00 (x0 ) 10.0 − 6.0i
H(x0 ) = G 2 (x0 ) − 3 = (−2.36557 + 3.08462i)2 −
P3 (x0 ) −1.34 + 2.48i
= 0.35995 − 12.488452i.

Biểu thức căn bậc hai ở mẫu số trong công thức (22) trở thành
q
F (x0 ) = (n − 1) [nH(x0 ) − G 2 (x0 )]
q
= 2 [3(0.35995 − 12.488452i) − (−2.36557 + 3.08462i)2 ]

= 5.67822 − 45.71946i = 5.08670 − 4.49402i.

64
PHƯƠNG PHÁP LAGUERRE

GIẢI
Dấu trong (22) được chọn bằng cách tính độ lớn của mẫu số:

|G(x0 ) + F (x0 )| = |(−2.36557 + 3.08462i) + (5.08670 − 4.49402i)|


= |2.72113 − 1.40940i| = 3.06448
|G(x0 ) − F (x0 )| = |(−2.36557 + 3.08462i) − (5.08670 − 4.49402i)|
= |−7.45227 + 7.57864i| = 10.62884.

Sử dụng dấu trừ trong (22), ta thu được nghiệm xấp xỉ là


n 3
r ≈ x1 = x0 − = (3 − i) −
G(x0 ) − F (x0 ) −7.45227 + 7.57864i
= 3.19790 − 0.79875i.

Nhờ giá trị khởi đầu tốt, giá trị xấp xỉ đã rất gần với nghiệm chính xác
là 3.19790 − 0.79875i.
65
THANK YOU FOR YOUR ATENTTION

66

You might also like