Phương Pháp Tính

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 155

Chương 1

Sai số

BỘ MÔN TOÁN ỨNG DỤNG(1)

VIỆN TOÁN ỨNG DỤNG VÀ TIN HỌC


TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

01/2023

(1)
Email: yen.hathingoc@hust.edu.vn
Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 1 SAI SỐ 1/14 01/2023 1 / 14
Nội dung Chương 1

Nội dung Chương 1


1.1 Khái niệm
1.2 Các loại sai số
1.3 Quy ước viết số gần đúng
1.4 Sai số trong tính toán
1.5 Sai số trong không gian nhiều chiều

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 1 SAI SỐ 3/14 01/2023 3 / 14
1.1 Khái niệm

Định nghĩa 1

Số a được gọi là một số gần đúng hay một xấp xỉ của a∗ nếu a đủ gần a∗ và được dùng để thay thế cho a∗
trong tính toán.
Nếu a < a∗ thì ta nói a là một ước lượng dưới của a. Tương ứng, nếu a > a∗ thì ta nói a là một ước lượng
trên của a∗ .

Ví dụ 1.
3.14 là một ước lượng dưới của π.
3.1416 là một ước lượng trên của π.
Các số 3.14 và 3.1416 là các số gần đúng của π.

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 1 SAI SỐ 6/14 01/2023 6 / 14
1.2 Các loại sai số

1.2.1 Phân loại sai số theo ý nghĩa


Sai số giá trị tuyệt đối tới hạn (sai số tuyệt đối): |a − a∗ | ≤ ∆a.
∆a
Sai số giá trị tương đối tới hạn (sai số tương đối): δa = .
|a|
1.2.2 Phân loại sai số theo nguyên nhân
Sai số đo đạc: một nửa đơn vị chia nhỏ nhất của công cụ đo.
Sai số làm tròn: một nửa thứ nguyên của chữ số giữ lại cuối cùng
Sai số tính toán: Xem mục 1.4
Sai số phương pháp.
Sai số mô hình hóa.
...

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 1 SAI SỐ 7/14 01/2023 7 / 14
1.3 Quy ước viết số gần đúng

Quy ước 1.

a∗ = a ± ∆a.

Ý nghĩa:
a∗ ∈ (a − ∆a, a + ∆a)
Ví dụ 2.
e ∈ (2.718, 2.7183)
Chọn ê ∈ (2.718, 2.7183) bất kỳ là một xấp xỉ của e với sai số |e − ê| ≤ 3 × 10−4 .
Đặc biệt, nếu chọn ê = 2.71815 thì sai số đạt được là ∆e = 1.5 × 10−4 .

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 1 SAI SỐ 8/14 01/2023 8 / 14
Chữ số đáng tin

Định nghĩa 2

Các chữ số có nghĩa của số a là tất cả các chữ số tính từ chữ số khác 0 đầu tiên từ bên trái.
Cho a = αk × 10k + αk−1 × 10k−1 + · · · + αk−s × 10k−s là biểu diễn trong hệ cơ số thập phân một xấp xỉ
của a∗ với sai số tuyệt đối ∆a. Khi đó, αi được gọi là chữ số đáng tin của a nếu nó là chữ số có nghĩa thỏa
mãn:
∆a ≤ 0.5 × 10i
nếu bất đẳng thức trái dấu thì ta nói αi là chữ số đáng ngờ.

Ví dụ 3. Với a∗ = 21.31075490 ± 0.00043, ta có: Các chữ số có nghĩa của a là 2;1;3;1;0;7;5;4;9;0.

0.5 × 10−4 ≤ ∆a = 0.43 × 10−3 ≤ 0.5 × 10−3

Do đó, các chữ số đáng tin của a là 2;1;3;1;0. Các chữ số đáng ngờ của a là: 7;5;4;9;0.

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 1 SAI SỐ 9/14 01/2023 9 / 14
1.3 Quy ước viết số gần đúng

Quy ước 2.
Khi viết số gần đúng, chỉ viết các chữ số đáng tin kèm theo thứ nguyên của chúng.

Ví dụ 3.
Do các chữ số đáng tin của a là 2;1;3;1;0 và chữ số tiếp theo là 7 nên ta xấp xỉ a∗ ≈ 21.311 = a1 . Ta có:

0.5 × 10−3 ≤ ∆a1 = ∆a + 2.4510 × 10−4 = 6.7510 × 10−4 ≤ 0.5 × 10−2

Chữ số 1 với thứ nguyên 10−3 không còn đáng tin.


Chọn a∗ ≈ 21.31 = a2 . Ta có:

0.5 × 10−3 ≤ ∆a2 = ∆a + 0.75490 × 10−3 = 1.18490 × 10−3 ≤ 0.5 × 10−2

Các chữ số đáng tin của a2 là 2;1;3;1. Nói cách khác, tất cả các chữ số của a2 đều đáng tin. Theo quy ước 2, ta
có a∗ = 21.31

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 1 SAI SỐ 10/14 01/2023 10 / 14
1.4 Sai số trong tính toán

Trường hợp hàm một biến


Giả sử x∗ = x0 ± ∆x0 , y ∗ = f (x∗ ) = f (x0 ) ± ∆y.
Khi đó, ta có đánh giá:
∂f (x0 )
|y0 − y ∗ | ≤ ∆x0
∂x

Ví dụ 4. Cho y = x2 x + 2, x∗ = 3.15896 ± 0.342 × 10−3 . Tính gần đúng y và ước lượng sai số của y

y = x2 x + 2 = 22.66571031
√ x2
∆y = 2x x + 2 + √ ∆x = 0.00565902
2 x + 2 x=3.15896

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 1 SAI SỐ 11/14 01/2023 11 / 14
1.4 Sai số trong tính toán

Trường hợp hàm n biến


Giả sử x∗i = x0i ± ∆x0i , y ∗ = f (x∗1 , x∗2 , . . . , x∗n ) = f (x01 , x02 , . . . , x0n ) ± ∆y.
Khi đó, ta có đánh giá:
n
∂f x01 , x02 , . . . , x0n

X
|y − y ∗ | ≤ ∆xi = ∆y
i=1
∂xi

Ví dụ 5. Cho z = x2 y + 2, x∗ = 3.15896 ± 0.342 × 10−3 , y ∗ = 5.17463 ± 0.275 × 10−2 . Tính gần đúng z và
ước lượng sai số của z

z = x2 y + 2 = 26.72932601
√ x2
∆z = ∆x 2x y + 2 x=3.15896, y=5.17463
+ ∆y √ = 0.010910229
2 y+2 x=3.15896, y=5.17463

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 1 SAI SỐ 12/14 01/2023 12 / 14
1.5 Sai số trong không gian Rn

Một số loại chuẩn thông dụng


Cho vector X = (x1 , x2 , · · · , xn ) . Khi đó một số chuẩn của vector X có thể được tính như sau:
Chuẩn hàng:
∥X∥∞ = max {|x1 | , |x2 | , . . . , |xn |}

Chuẩn cột:
n
X
∥X∥1 = |xi |
i=1

Chuẩn Ơclit: v
u n
uX
∥X∥2 = t x2i
i=1

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 1 SAI SỐ 13/14 01/2023 13 / 14
1.5 Sai số trong không gian Rn

Sai số
Với p = 1; 2; ∞, ta có:
Sai số tuyệt đối:
∥X − X ∗ ∥p ≤ ∆X

Sai số tương đối:


∆X
δx =
∥X∥p

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 1 SAI SỐ 14/14 01/2023 14 / 14
Chương 2
Giải gần đúng phương trình f (x) = 0

BỘ MÔN TOÁN ỨNG DỤNG(1)

VIỆN TOÁN ỨNG DỤNG VÀ TIN HỌC


TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

01/2023

(1)
Email: yen.hathingoc@hust.edu.vn
Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 2 GIẢI PHƯƠNG TRÌNH f (x) = 0 1/56 01/2023 1 / 56
Nội dung Chương 2

Nội dung Chương 1


2.1 Bài toán
2.2 Khoảng cách ly nghiệm
2.3 Phương pháp chia đôi
2.4 Phương pháp dây cung
2.5 Phương pháp tiếp tuyến
2.6 Phương pháp lặp đơn

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 2 GIẢI PHƯƠNG TRÌNH f (x) = 0 3/56 01/2023 3 / 56
Mục tiêu Chương 2

Mục tiêu
1 Xác định và thiết lập được bài toán
2 Biết cách xác định khoảng cách ly nghiệm của phương trình
3 Sử dụng được các phương pháp được học để tìm nghiệm gần đúng theo yêu cầu về sai số
4 Viết được thuật toán và sơ đồ khối cho các phương pháp

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 2 GIẢI PHƯƠNG TRÌNH f (x) = 0 4/56 01/2023 4 / 56
2.1 Bài toán

Phát biểu bài toán

B1. Tìm nghiệm gần đúng của phương trình f (x) = 0, x ∈ R và đánh giá sai số cho nghiệm đó.
B2. Tìm nghiệm gần đúng của phương trình f (x) = 0 với sai số không vượt quá ε.

Ví dụ 1.
Tìm các hằng số e, π với bảy chữ số đáng tin sau dấu phẩy.
Tìm nghiệm của phương trình đa thức an xn + an−1 xn−1 + · · · + a1 x + a0 = 0.
Tìm nghiệm của phương trình x2 cos x + 5x − 17 = 0

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 2 GIẢI PHƯƠNG TRÌNH f (x) = 0 6/56 01/2023 6 / 56
2.2 Khoảng cách ly nghiệm

Định nghĩa
Nếu trong khoảng (a, b) có đúng một nghiệm của phương trình f (x) = 0 thì (a, b) được gọi là khoảng cách ly
nghiệm của phương trình.

Ví dụ 2. Các trường hợp B, C, E trong hình 1 biểu diễn khoảng cách ly nghiệm của phương trình.

Hình 1: Khoảng cách ly


Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 2 GIẢI PHƯƠNG TRÌNH f (x) = 0 8/56 01/2023 8 / 56
2.2 Khoảng cách ly nghiệm

Định lý 1

(Định lý điều kiện đủ) Nếu hàm số f (x) liên tục và đơn điệu trên (a,b) thỏa mãn f (a)f (b) < 0 thì (a, b) là
nghiệm của phương trình f (x) = 0.

Ví dụ 3. Chứng minh rằng (2, 3) là khoảng cách ly nghiệm của phương trình x3 − 15 = 0.
Xét hàm số f (x) = x3 − 15.
Ta có f ′ (x) = 3x2 > 0 ∀x ∈ (2, 3). Do đó, f (x) là hàm liên tục, đơn điệu trên (a, b)
Hơn nữa, f (2) = −7 < 0, f (3) = 12 > 0 =⇒ f (2)f (3) < 0.
Do đó, theo định lý điều kiện đủ 1, ta có (2, 3) là khoảng cách ly nghiệm của phương trình x3 − 15 = 0.

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 2 GIẢI PHƯƠNG TRÌNH f (x) = 0 9/56 01/2023 9 / 56
2.2 Khoảng cách ly nghiệm

Phương pháp khảo sát

Tìm các điểm dừng của f (x)


Vẽ bảng biến thiên của hàm số
Xác định các khoảng đơn điệu và số nghiệm của phương trình
Chọn khoảng cách ly nghiệm trên mỗi khoảng đơn điệu theo điều kiện f (a)f (b) < 0

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 2 GIẢI PHƯƠNG TRÌNH f (x) = 0 10/56 01/2023 10 / 56
2.2 Khoảng cách ly nghiệm

Phương pháp vẽ đồ thị

Vẽ đồ thị của hàm số y = f (x). Khoanh vùng giao điểm của đồ thị với trục hoành
Viết phương trình f (x) = 0 thành phương trình tương đương g(x) = h(x). Vẽ đồ thị hai hàm số
y = g(x), y = h(x) và khoanh vùng giao điểm hai đồ thị.

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 2 GIẢI PHƯƠNG TRÌNH f (x) = 0 11/56 01/2023 11 / 56
2.3 Phương pháp chia đôi

Ý tưởng

Thu hẹp khoảng cách ly nghiệm bằng cách chia đôi.


Nguyên lý Dirichlet đảm bảo nghiệm chỉ thuộc một trong hai khoảng chia.

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 2 GIẢI PHƯƠNG TRÌNH f (x) = 0 13/56 01/2023 13 / 56
2.3 Phương pháp chia đôi

Điều kiện thực hiện


(a, b) là khoảng cách ly nghiệm của phương trình.
f (x) liên tục trên (a, b).
f (a)f (b) < 0.

Ví dụ 4. Phương trình x3 − 15 = 0 và khoảng cách ly nghiệm (2, 3) thỏa mãn các điều kiện thực hiện của phương
pháp chia đôi. (Xem ví dụ 3)

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 2 GIẢI PHƯƠNG TRÌNH f (x) = 0 14/56 01/2023 14 / 56
2.3 Phương pháp chia đôi

Thực hiện chia đôi


a+b
Chia lần thứ 1: x1 =
2
Kiểm tra nếu f (x1 ) = 0 thì kết luận x1 là nghiệm của phương trình.
Kiểm tra nếu f (x1 )f (a) < 0 thì (a, x1 ) là khoảng cách ly nghiệm mới, đặt là (a1 , b1 ).
Nếu trái lại thì (x1 , b) là khoảng cách ly nghiệm mới, đặt là (a1 , b1 )
a1 + b1
Thực hiện chia lần 2 tương tự lần 1 với x2 = cho khoảng (a1 , b1 )
2
Tiếp tục thực hiện chia cho đến khi thu được kết quả như mong muốn.

Ví dụ 5. Thực hiện 3 lần chia đôi khoảng cách ly (2, 3) của phương trình x3 − 15 = 0
Lần 1: x1 = 2.5, f (x1 ) = 0.625 > 0, khoảng cách ly nghiệm mới là (2, 2.5).
Lần 2: x2 = 2.25, f (x2 ) = −3.609375 < 0, khoảng cách ly nghiệm mới là (2.25, 2.5).
Lần 3: x3 = 2.375, f (x2 ) = −1.603515625 < 0, khoảng cách ly nghiệm mới là (2.375, 2.5).
Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 2 GIẢI PHƯƠNG TRÌNH f (x) = 0 15/56 01/2023 15 / 56
2.3 Phương pháp chia đôi - Sự hội tụ và sai số

Định lý 2
Cho f (x) là hàm số liên tục trên (a, b) thỏa mãn f (a)f (b) < 0. Giả sử (a, b) là khoảng cách ly nghiệm của
phương trình f (x) = 0. Khi đó, dãy {xn }, xác định bằng cách thực hiện phương pháp chia đôi (silde 15), hội tụ
tới nghiệm của phương trình theo hai công thức đánh giá sai số:
Công thức tiên nghiệm:
|b − a|
|xn − α| ≤ (1)
2n
Công thức hậu nghiệm:
|xn − α| ≤ |xn − xn−1 | (2)

Chứng minh:
b − a n→∞
|xn − α| ≤ |bn − an | = |xn − xn−1 | = −→ 0
2n
Ví dụ 6. Với khoảng cách ly (1, 2), sau khi thực hiện chia đôi 10 lần ta thu được x10 với sai số
1
|x10 − α| ≤ 10 = 0.000976563.
2
Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 2 GIẢI PHƯƠNG TRÌNH f (x) = 0 16/56 01/2023 16 / 56
2.3 Phương pháp chia đôi - Thuật toán

Hình 2: Sơ đồ thuật toán chia đôi

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 2 GIẢI PHƯƠNG TRÌNH f (x) = 0 17/56 01/2023 17 / 56
2.3 Phương pháp chia đôi

Bài tập ví dụ 1

Tìm hằng số e với 7 chữ số đáng tin sau dấu phẩy bằng phương pháp chia đôi.

Hướng dẫn:
Phương trình ln(x) − 1 = 0 có nghiệm duy nhất là e nên để tính gần đúng e, có thể dùng phương pháp chia
đôi giải gần đúng phương trình với sai số yêu cầu.
Chọn khoảng (2.7, 2.8) và chứng minh đây là khoảng cách ly nghiệm của phương trình trên thỏa mãn điều
kiện thực hiện phương pháp chia đôi.
Thiết lập điều kiện dừng qua sai số yêu cầu: Chọn một trong hai cách dưới đây.
Theo công thức hậu nghiệm: |xn − α| ≤ |xn − xn−1 | ≤ 0.5 × 10−7  
|b − a|
ln
|b − a| 0.5 × 10−7
Theo công thức tiên nghiệm: |xn − α| ≤ ≤ 0.5 × 10−7 ⇐⇒ n ≥
2n ln 2

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 2 GIẢI PHƯƠNG TRÌNH f (x) = 0 18/56 01/2023 18 / 56
2.3 Phương pháp chia đôi - Bài tập ví dụ 1

n an bn dấu của f (xn+1 )


0 2.7 2.8 +
1 2.75 +
2 2.725 −
3 2.7125 +
4 2.71875 −
5
6
···

Bảng I: Thực hiện phương pháp chia đôi

Trong bảng I, các giá trị xk là điểm chia thứ k được đặt tại cột an hoặc bn thể hiện vai trò của nó trong khoảng
cách ly nghiệm mới. Chẳng hạn, x3 = 2.7125 là xấp xỉ thứ 3 và là cận trái của khoảng cách ly (2.7125, 2.725)
sau 3 lần thực hiện chia đôi.

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 2 GIẢI PHƯƠNG TRÌNH f (x) = 0 19/56 01/2023 19 / 56
2.4 Phương pháp dây cung -Ý tưởng
Thay thế đường cong bằng dây cung. Thay việc tìm giao điểm của đường cong với trục hoành thành việc tìm giao
điểm của dây cung với trục hoành.

Hình 3: Phương pháp dây cung

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 2 GIẢI PHƯƠNG TRÌNH f (x) = 0 21/56 01/2023 21 / 56
2.4 Phương pháp dây cung - Xây dựng công thức lặp

Giả sử dây cung thứ k đi qua hai điểm Mk (xk , f (xk )) và M (d, f (d)).
Phương trình đường thẳng M Mk :
x − xk y − f (xk )
= .
xk − d f (xk ) − f (d)
Gọi giao điểm của M Mk với trục hoành là (xk+1 , 0) . Khi đó,

f (xk ) (xk − d)
xk+1 = xk − (3)
f (xk ) − f (d)

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 2 GIẢI PHƯƠNG TRÌNH f (x) = 0 22/56 01/2023 22 / 56
2.4 Phương pháp dây cung - Điều kiện

Điều kiện

1. (a, b) là khoảng cách ly nghiệm của phương trình.


2. f ′ , f ′′ xác định dấu không đổi trên [a, b].
3. Chọn đúng điểm mốc d và xuất phát ban đầu x0 .

[1] và [2] là các điều kiện thực hiện phương pháp.


[1], [2] và [3] là các điều kiện hội tụ của phương pháp.

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 2 GIẢI PHƯƠNG TRÌNH f (x) = 0 23/56 01/2023 23 / 56
2.4 Phương pháp dây cung - Điều kiện

Điểm mốc và điểm xuất phát

Điểm mốc d được chọn là điểm thỏa mãn f (d)f ”(d) > 0.
Điểm xuất phát x0 được chọn là điểm thỏa mãn f (d)f (x0 ) < 0

Ví dụ 7. Kiểm tra điều kiện hội tụ của phương pháp dây cung đối với phương trình ln x − 1 = 0 trên (2, 3).
(2, 3) là khoảng cách ly nghiệm của phương trình (sv tự kiểm tra).
1 −1
f ′ (x) = > 0 ∀x ∈ [2, 3] , f ”(x) = 2 < 0 ∀x ∈ [2, 3] .
x x
f (2)f ”(2) > 0 nên chọn d = 2, x0 = 3.

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 2 GIẢI PHƯƠNG TRÌNH f (x) = 0 24/56 01/2023 24 / 56
2.4 Phương pháp dây cung - Sự hội tụ và sai số

Định lý về sự hội tụ
Giả sử phương trình f (x) = 0 và khoảng (a, b) thỏa mãn các điều kiện [1], [2] và [3] (xem slide 23). Khi đó, dãy
lặp {xn } xác định theo công thức (3) luôn hội tụ tới nghiệm đúng α của phương trình trong (a, b) với đánh giá
sai số:
|f (xn )|
|xn − α| ≤ . (4)
m1
M1 − m1
|xn − α| ≤ |xn − xn−1 | , (5)
m1
trong đó, m1 = min f ′ (x) , M1 = max f ′ (x) .
[a,b] [a,b]

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 2 GIẢI PHƯƠNG TRÌNH f (x) = 0 25/56 01/2023 25 / 56
2.4 Phương pháp dây cung - Thuật toán

Bài toán 1
Cho phương trình f (x) = 0 và khoảng (a, b). Tìm nghiệm xấp xỉ thứ n bằng phương pháp dây cung và đánh giá
sai số.

B1. Xác định input.


B2. Kiểm tra điều kiện thực hiện của input.
B3. Chọn điểm mốc d và xuất phát ban đầu x0 .
B4. Thực hiện tính các xấp xỉ theo công thức lặp (3).
B5. Tính sai số theo công thức (4) hoặc (5).
B6. Xác định output.

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 2 GIẢI PHƯƠNG TRÌNH f (x) = 0 26/56 01/2023 26 / 56
2.4 Phương pháp dây cung - Thuật toán

Bài toán 2
Cho phương trình f (x) = 0 và khoảng (a, b). Tìm nghiệm gần đúng bằng phương pháp dây cung với sai số không
vượt quá ε.

B1. Xác định input.


B2. Kiểm tra điều kiện thực hiện của input.
B3. Chọn điểm mốc d và xuất phát ban đầu x0 .
B4. Thiết lập điều kiện dừng từ công thức sai số (4) hoặc (5).
B5. Thực hiện tính các xấp xỉ theo công thức lặp (3) cho đến khi thỏa mãn điều kiện dừng.
B6. Xác định output.

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 2 GIẢI PHƯƠNG TRÌNH f (x) = 0 27/56 01/2023 27 / 56
2.4 Phương pháp dây cung

Bài tập ví dụ 2

Tính đến nghiệm xấp xỉ thứ 5 của phương trình ln x − 1 = 0 trên (2, 3) bằng phương pháp dây cung và đánh giá
sai số cho x5 .

Hướng dẫn:
B1. Xác định input: f (x) = ln x − 1, a = 2, b = 3, n = 5
B2. Kiểm tra điều kiện thực hiện của input:
1
f ′ (x) = > 0 ∀x ∈ [2, 3] ⇒ f (x) đơn điệu tăng trên [2, 3]
x
1
f ”(x) = − 2 < 0 ∀x ∈ [2, 3]
x
f (2) = −0.306852819, f (3) = 0.098612289 ⇒ f (a)f (b) < 0 ⇒ (a, b) là khoảng cách ly nghiệm của
phương trình.
B3. Xác định yếu tố ban đầu: f (2)f ” > 0 ⇒ d = 2, x0 = 3.

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 2 GIẢI PHƯƠNG TRÌNH f (x) = 0 28/56 01/2023 28 / 56
2.4 Phương pháp dây cung

Bài tập ví dụ 2

Tính đến nghiệm xấp xỉ thứ 5 của phương trình ln x − 1 = 0 trên (2, 3) bằng phương pháp dây cung và đánh giá
sai số cho x5 .

Hướng dẫn:
B4. Tính các xấp xỉ: Theo công thức lặp của phương pháp dây cung (3), ta có:
f (xk )(xk − d)
xk+1 = xk −
f (xk ) − f (d)

k 0 1 2 3 4 5
xk 3 2.756792171 2.723617729 2.719022578 2.71838469 2.718296112

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 2 GIẢI PHƯƠNG TRÌNH f (x) = 0 29/56 01/2023 29 / 56
2.4 Phương pháp dây cung

Bài tập ví dụ 2

Tính đến nghiệm xấp xỉ thứ 5 của phương trình ln x − 1 = 0 trên (2, 3) bằng phương pháp dây cung và đánh giá
sai số cho x5 .

Hướng dẫn:
B5. Đánh giá sai số: M1 = max[2,3] |f ′ (x)| = f ′ (2) = 0.5, m1 = min[2,3] |f ′ (x)| = f ′ (3) = 1/3
M1 − m1
|x5 − α| ≤ |x5 − x4 | = 4.42886 × 10−5
m1
B6. Xác định output: α = x5 ± ∆x5 = 2.718296112 ± 4.42886 × 10−5

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 2 GIẢI PHƯƠNG TRÌNH f (x) = 0 30/56 01/2023 30 / 56
2.4 Phương pháp dây cung

Bài tập ví dụ 3

Tìm nghiệm gần đúng của phương trình ln x − 1 = 0 trên (2, 3) bằng phương pháp dây cung với 8 chữ số đáng tin.

Hướng dẫn:
B1-3 Xem bài tập ví dụ 2
B4. Thiết lập điều kiện dừng:

M1 = max f ′ (x) = f ′ (2) = 0.5, m1 = min f ′ (x) = f ′ (3) = 1/3


[2,3] [2,3]

M1 − m1 m1
|xn − α| ≤ |xn − xn−1 | ≤ 0.5 × 10−7 ⇔ |xn − xn−1 | ≤ 0.5 × 10−7 = 10−7
m1 M1 − m1
Điều kiện dừng: xn và xn−1 trùng đến chữ số có thứ nguyên 10−7 .

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 2 GIẢI PHƯƠNG TRÌNH f (x) = 0 31/56 01/2023 31 / 56
2.4 Phương pháp dây cung

Bài tập ví dụ 3

Tìm nghiệm gần đúng của phương trình ln x − 1 = 0 trên (2, 3) bằng phương pháp dây cung với 8 chữ số đáng tin.

Hướng dẫn:
B5. Thực hiện tính các xấp xỉ theo công thức lặp (3) cho đến khi thỏa mãn điều kiện dừng.

f (xk )(xk − d)
xk+1 = xk −
f (xk ) − f (d)

k 0 1 2 3 4 5
xk 3 2.756792171 2.723617729 2.719022578 2.71838469 2.718296112
k 6 7 8 9
xk 2.718283812 2.718282104 2.718281867 2.718281834

B6. Xác định output: α ≈ 2.718281834.

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 2 GIẢI PHƯƠNG TRÌNH f (x) = 0 32/56 01/2023 32 / 56
2.5 Phương pháp tiếp tuyến (phương pháp Newton)

Ý tưởng
Thay thế đường cong bằng đường tiếp tuyến. Thay việc tìm giao điểm của đường cong với trục hoành thành việc
tìm giao điểm của tiếp tuyến với trục hoành.

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 2 GIẢI PHƯƠNG TRÌNH f (x) = 0 34/56 01/2023 34 / 56
2.5 Phương pháp tiếp tuyến - Xây dựng công thức lặp

Giả sử tiếp tuyến thứ k với tiếp điểm Mk (xk , f (xk )) là dk


Phương trình đường thẳng tiếp tuyến dk :

y = f (xk ) + f ′ (xk )(x − xk )

Gọi giao điểm của dk với trục hoàng là (xx+1 , 0) . Khi đó,

f (xk )
xk+1 = xk − (6)
f ′ (xk )

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 2 GIẢI PHƯƠNG TRÌNH f (x) = 0 35/56 01/2023 35 / 56
2.5 Phương pháp tiếp tuyến - Điều kiện

Điều kiện

1. (a, b) là khoảng cách ly nghiệm của phương trình.


2. f ′ , f ′′ xác định dấu không đổi trên [a, b].
3’. Chọn điểm xuất phát ban đầu x0 thỏa mãn f (x0 )f ”(x0 ) > 0.

[1] và [2] là các điều kiện thực hiện phương pháp.


[1], [2] và [3’] là các điều kiện hội tụ của phương pháp.

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 2 GIẢI PHƯƠNG TRÌNH f (x) = 0 36/56 01/2023 36 / 56
2.5 Phương pháp tiếp tuyến - Điều kiện

Ví dụ 8. Kiểm tra điều kiện hội tụ của phương pháp tiếp tuyến đối với phương trình x5 − 21 = 0 trên (1, 2).
(1, 2) là khoảng cách ly nghiệm của phương trình (sv tự kiểm tra).
f ′ (x) = 5x4 > 0 ∀x ∈ [1, 2] , f ”(x) = 20x3 > 0 ∀x ∈ [1, 2] .
f (2)f ”(2) > 0 nên chọn x0 = 2.
Vậy các điều kiện hội tự của phương pháp tiếp tuyến đối với phương trình trên là thỏa mãn.

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 2 GIẢI PHƯƠNG TRÌNH f (x) = 0 37/56 01/2023 37 / 56
2.5 Phương pháp tiếp tuyến - Sự hội tụ và sai số

Định lý về sự hội tụ
Giả sử phương trình f (x) = 0 và khoảng (a, b) thỏa mãn các điều kiện [1], [2] và [3’] (xem slide 36). Khi đó, dãy
lặp {xn } xác định theo công thức (6) luôn hội tụ tới nghiệm đúng α của phương trình trong (a, b) với đánh giá
sai số:
|f (xn )|
|xn − α| ≤ . (7)
m1
M2
|xn − α| ≤ |xn − xn−1 |2 , (8)
2m1
trong đó, m1 = min f ′ (x) , M2 = max f ′′ (x) .
[a,b] [a,b]

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 2 GIẢI PHƯƠNG TRÌNH f (x) = 0 38/56 01/2023 38 / 56
2.5 Phương pháp tiếp tuyến - Thuật toán

Bài toán 1
Cho phương trình f (x) = 0 và khoảng (a, b). Tìm nghiệm xấp xỉ thứ n bằng phương pháp tiếp tuyến và đánh giá
sai số.

B1. Xác định input.


B2. Kiểm tra điều kiện thực hiện của input.
B3. Chọn điểm xuất phát ban đầu x0 .
B4. Thực hiện tính các xấp xỉ theo công thức lặp (6).
B5. Tính sai số theo công thức (7) hoặc (8).
B6. Xác định output.

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 2 GIẢI PHƯƠNG TRÌNH f (x) = 0 39/56 01/2023 39 / 56
2.5 Phương pháp tiếp tuyến - Thuật toán

Bài toán 2
Cho phương trình f (x) = 0 và khoảng (a, b). Tìm nghiệm gần đúng bằng phương pháp tiếp tuyến với sai số
không vượt quá ε.

B1. Xác định input.


B2. Kiểm tra điều kiện thực hiện của input.
B3. Chọn điểm xuất phát ban đầu x0 .
B4. Thiết lập điều kiện dừng từ công thức sai số (7) hoặc (8).
B5. Thực hiện tính các xấp xỉ theo công thức lặp (6) cho đến khi thỏa mãn điều kiện dừng.
B6. Xác định output.

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 2 GIẢI PHƯƠNG TRÌNH f (x) = 0 40/56 01/2023 40 / 56
2.5 Phương pháp tiếp tuyến

Bài tập ví dụ 4

Tính đến nghiệm xấp xỉ thứ 5 của phương trình x4 − 27 = 0 trên (2, 3) bằng phương pháp tiếp tuyến và đánh giá
sai số cho x5 .

Hướng dẫn:
B1. Xác định input: f (x) = x4 − 27, a = 2, b = 3, n = 5
B2. Kiểm tra điều kiện thực hiện của input:
f ′ (x) = 4x3 > 0 ∀x ∈ [2, 3] ⇒ f (x) đơn điệu tăng trên [2, 3]
f ”(x) = 12x2 > 0 ∀x ∈ [2, 3]
f (2) = −11, f (3) = 54 ⇒ f (a)f (b) < 0 ⇒ (a, b) là khoảng cách ly nghiệm của phương trình.
B3. Xác định yếu tố ban đầu: f (3)f ” > 0 ⇒ x0 = 3.

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 2 GIẢI PHƯƠNG TRÌNH f (x) = 0 41/56 01/2023 41 / 56
2.5 Phương pháp tiếp tuyến

Bài tập ví dụ 4
Tính đến nghiệm xấp xỉ thứ 5 của phương trình x4 − 27 = 0 trên (2, 3) bằng phương pháp tiếp tuyến và đánh giá
sai số cho x5 .

Hướng dẫn:
B4. Tính các xấp xỉ: Theo công thức lặp của phương pháp tiếp tuyến (6), ta có:
f (xk )
xk+1 = xk −
f ′ (xk )

k 0 1 2 3 4 5
xk 3 2.5 2.307 2.279994622 2.279507213 2.279507057

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 2 GIẢI PHƯƠNG TRÌNH f (x) = 0 42/56 01/2023 42 / 56
2.5 Phương pháp tiếp tuyến

Bài tập ví dụ 4
Tính đến nghiệm xấp xỉ thứ 5 của phương trình x4 − 27 = 0 trên (2, 3) bằng phương pháp tiếp tuyến và đánh giá
sai số cho x5 .

Hướng dẫn:
B5. Đánh giá sai số: M2 = max[2,3] |f ”(x)| = f ”(3) = 108, m1 = min[2,3] |f ′ (x)| = f ′ (2) = 32
M2
|x5 − α| ≤ |x5 − x4 |2 + ∆làm tròn = 4.12633 × 10−14 + 0.5 × 10−9 = 0.5 × 10−9
2m1
B6. Xác định output: α = x5 ± ∆x5 = 2.279507057 ± 0.5 × 10−9

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 2 GIẢI PHƯƠNG TRÌNH f (x) = 0 43/56 01/2023 43 / 56
2.5 Phương pháp tiếp tuyến

Bài tập ví dụ 5

Tìm nghiệm gần đúng của phương trình x4 − 27 = 0 trên (2, 3) bằng phương pháp tiếp tuyến với 8 chữ số đáng
tin.

Hướng dẫn:
B1-3 Xem bài tập ví dụ 4
B4. Thiết lập điều kiện dừng:

M2 = max |f ”(x)| = f ”(3) = 108, m1 = min f ′ (x) = f ′ (2) = 32


[2,3] [2,3]

r
M2 2m1
|xn − α| ≤ |xn − xn−1 |2 ≤ 0.5 × 10−7 ⇔ |xn − xn−1 | ≤ 0.5 × 10−7 = 0.172132593 × 10−3
2m1 M2
Điều kiện dừng: xn và xn−1 trùng đến chữ số có thứ nguyên 10−4 .

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 2 GIẢI PHƯƠNG TRÌNH f (x) = 0 44/56 01/2023 44 / 56
2.5 Phương pháp tiếp tuyến

Bài tập ví dụ 3

Tìm nghiệm gần đúng của phương trình x4 − 27 = 0 trên (2, 3) bằng phương pháp dây cung với 8 chữ số đáng tin.

Hướng dẫn:
B5. Thực hiện tính các xấp xỉ theo công thức lặp (6) cho đến khi thỏa mãn điều kiện dừng.
f (xk )
xk+1 = xk −
f ′ (xk )

k 0 1 2 3 4 5
xk 3 2.5 2.307 2.279994622 2.279507213 2.279507057

B6. Xác định output: α ≈ 2.279507057.

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 2 GIẢI PHƯƠNG TRÌNH f (x) = 0 45/56 01/2023 45 / 56
2.6 Phương pháp lặp đơn

Ý tưởng
Tạo phương trình lặp x = φ(x) tương đương với phương trình f (x) = 0.
Công thức lặp tương ứng với phương trình lặp

xk+1 = φ(xk ) (9)

Nếu ∃ limk→∞ xk = α và φ(x) liên tục thì α = φ(α)

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 2 GIẢI PHƯƠNG TRÌNH f (x) = 0 47/56 01/2023 47 / 56
2.6 Phương pháp lặp đơn - Điều kiện

Điều kiện hội tụ

1. (a, b) là khoảng cách ly nghiệm của phương trình.


2. |φ′ (x)| ≤ q < 1 ∀x ∈ [a, b] .

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 2 GIẢI PHƯƠNG TRÌNH f (x) = 0 48/56 01/2023 48 / 56
2.6 Phương pháp lặp đơn - Điều kiện

1
Ví dụ 9. Kiểm tra điều kiện hội tụ của phương pháp lặp đơn đối với phương trình x = trên (0, 1).
x+3
(0, 1) là khoảng cách ly nghiệm của phương trình (sv tự kiểm tra).
1
|φ′ (x)| = ≤ 0.112 = q ∀x ∈ [0, 1]
(x + 3)2
Vậy các điều kiện hội tự của phương pháp lặp đơn đối với phương trình trên là thỏa mãn.

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 2 GIẢI PHƯƠNG TRÌNH f (x) = 0 49/56 01/2023 49 / 56
2.6 Phương pháp lặp đơn - Sự hội tụ và sai số

Định lý về sự hội tụ
Giả sử phương trình x = φ(x) và khoảng (a, b) thỏa mãn các điều kiện [1], [2] (xem slide 48). Khi đó, với mọi
x0 ∈ [a, b] , dãy lặp {xn } xác định theo công thức (9) luôn hội tụ tới nghiệm đúng α của phương trình trong
(a, b) với đánh giá sai số:
qn
Công thức tiên nghiệm: |xn − α| ≤ |x1 − x0 | . (10)
1−q
q
Công thức hậu nghiệm: |xn − α| ≤ |xn − xn−1 | . (11)
1−q

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 2 GIẢI PHƯƠNG TRÌNH f (x) = 0 50/56 01/2023 50 / 56
2.6 Phương pháp lặp đơn - Thuật toán

Bài toán 1
Cho phương trình f (x) = 0 và khoảng (a, b). Tìm nghiệm xấp xỉ thứ n bằng phương pháp tiếp tuyến và đánh giá
sai số.

B1. Xác định input.


B2. Kiểm tra điều kiện thực hiện của input.
B3. Chọn điểm xuất phát ban đầu x0 .
B4. Thực hiện tính các xấp xỉ theo công thức lặp (9).
B5. Tính sai số theo công thức (10) hoặc (11).
B6. Xác định output.

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 2 GIẢI PHƯƠNG TRÌNH f (x) = 0 51/56 01/2023 51 / 56
2.6 Phương pháp lặp đơn - Thuật toán

Bài toán 2
Cho phương trình f (x) = 0 và khoảng (a, b). Tìm nghiệm gần đúng bằng phương pháp tiếp tuyến với sai số
không vượt quá ε.

B1. Xác định input.


B2. Kiểm tra điều kiện thực hiện của input.
B3. Chọn điểm xuất phát ban đầu x0 .
B4. Thiết lập điều kiện dừng từ công thức sai số (10) hoặc (11).
B5. Thực hiện tính các xấp xỉ theo công thức lặp (9) cho đến khi thỏa mãn điều kiện dừng.
B6. Xác định output.

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 2 GIẢI PHƯƠNG TRÌNH f (x) = 0 52/56 01/2023 52 / 56
2.6 Phương pháp lặp đơn

Bài tập ví dụ 6
1
Tính đến nghiệm xấp xỉ thứ 5 của phương trình x = trên (0, 1) bằng phương pháp lặp đơn và đánh giá sai
x+3
số cho x5 với x0 = 2.

Hướng dẫn:
1
B1. Xác định input: φ(x) = , a = 0, b = 1, n = 5
x+3
B2. Kiểm tra điều kiện thực hiện của input:
1 1
f (x) = x − , f ′ (x) = 1 + ∀x ∈ [0, 1] ⇒ f (x) đơn điệu tăng trên [0, 1]
x+3 (x + 3)2
f (0) = −1/3, f (1) = 3/4 ⇒ f (0)f (1) < 0 ⇒ (0, 1) là khoảng cách ly nghiệm của phương trình.
1
|φ′ (x)| = ≤ 0.112 = q ∀x ∈ [0, 1]
(x + 3)2
Vậy dãy lặp xk+1 = φ(xk ) hội tụ đến nghiệm đúng của phương trình.
B3. Xác định yếu tố ban đầu: x0 = 0 (theo đề bài).

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 2 GIẢI PHƯƠNG TRÌNH f (x) = 0 53/56 01/2023 53 / 56
2.6 Phương pháp lặp đơn

Bài tập ví dụ 6
1
Tính đến nghiệm xấp xỉ thứ 5 của phương trình x = trên (0, 1) bằng phương pháp lặp đơn và đánh giá sai
x+3
số cho x5 với x0 = 0.

Hướng dẫn:
B4. Tính các xấp xỉ:
1
xk+1 = φ(xk ) =
xk + 3
k 0 1 2 3 4 5
xk 0 0.333333333 0.3 0.303030303 0.302752294 0.302777778
q
B5. Đánh giá sai số: |x5 − α| ≤ |x5 − x4 | = 3.18552 × 10−6
1−q
B6. Xác định output: α = x5 ± ∆x5 = 0.302777778 ± 3.18552 × 10−6

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 2 GIẢI PHƯƠNG TRÌNH f (x) = 0 54/56 01/2023 54 / 56
2.6 Phương pháp lặp đơn

Bài tập ví dụ 7
1
Tìm nghiệm gần đúng của phương trình x = trên (0, 1) bằng phương pháp tiếp tuyến với 8 chữ số đáng tin.
x+3

Hướng dẫn:
B1-3 Xem bài tập ví dụ 6
B4. Thiết lập điều kiện dừng:

0.5 × 10−7 (1 − q)
 
ln
qn |x1 − x0 |
|xn − α| ≤ |x1 − x0 | ≤ 0.5 × 10−7 ⇔ n ≥ = 7.21 ⇒ n = 8.
1−q ln q

Điều kiện dừng: Tính đến x8 .

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 2 GIẢI PHƯƠNG TRÌNH f (x) = 0 55/56 01/2023 55 / 56
2.6 Phương pháp lặp đơn

Bài tập ví dụ 7
1
Tìm nghiệm gần đúng của phương trình x = trên (0, 1) bằng phương pháp tiếp tuyến với 8 chữ số đáng tin.
x+3

Hướng dẫn:
B5. Thực hiện tính các xấp xỉ theo công thức lặp (9) cho đến khi thỏa mãn điều kiện dừng.
1
xk+1 = φ(xk ) =
xk + 3

k 0 1 2 3 4
xk 0 0.333333333 0.3 0.303030303 0.302752294
k 5 6 7 8
xk 0.302777778 0.302775442 0.302775656 0.302775636

B6. Xác định output: α ≈ 0.302775636.

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 2 GIẢI PHƯƠNG TRÌNH f (x) = 0 56/56 01/2023 56 / 56
Chương 3
Giải phương trình Ax = b

BỘ MÔN TOÁN ỨNG DỤNG(1)

VIỆN TOÁN ỨNG DỤNG VÀ TIN HỌC


TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

01/2023

(1)
Email: yen.hathingoc@hust.edu.vn
Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 3 GIẢI PHƯƠNG TRÌNH Ax = b 1/26 01/2023 1 / 26
Nội dung Chương 3

Nội dung Chương 3


3.1 Bài toán
3.2 Phương pháp Gauss
3.3 Phương pháp Gauss-Jordan
3.4 Phương pháp lặp đơn, Phương pháp lặp Jacobi
3.5 Phương pháp lặp Gauss-Seidel

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 3 GIẢI PHƯƠNG TRÌNH Ax = b 3/26 01/2023 3 / 26
3.1 Bài toán

Phát biểu bài toán


B1. Giải phương trình Ax = b với A ∈ M(m × n, R), b ∈ Rm .
B2. Tìm nghiệm gần đúng của phương trình Ax = b với A ∈ M(n, R), b ∈ Rm với sai số không vượt quá ε.

Ví dụ 1.
Bài toán định giá sản phẩm, bài toán định lượng sản phẩm theo mô hình Leotief
Bài toán về mạng lưới giao thông.
Bài toán về mạng điện.

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 3 GIẢI PHƯƠNG TRÌNH Ax = b 6/26 01/2023 6 / 26
3.2 Phương pháp Gauss

Quy trình thuận - Khử


Sử dụng các phép biến đổi hàng tương đương đưa ma trận bổ sung về dạng bậc thang:
Chọn phần tử khử khác 0 theo ưu tiên vị trí từ trên xuống dưới, từ trái sang phải.
Thực hiện khử phía dưới phần tử khử.

Ví dụ 1.
     
0 2 1 3 1 2 3 6 1 2 3 6
h2 ↔h3 h3 −2h1 →h3
Ā =  2 4 −1 5  ←→  0 2 1 3  ←→  0 2 1 3 
1 2 3 6 2 4 −1 5 0 0 −7 −7

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 3 GIẢI PHƯƠNG TRÌNH Ax = b 8/26 01/2023 8 / 26
3.2 Phương pháp Gauss

Quy trình ngược - Thế


Quy trình ngược tìm các tọa độ của nghiệm bằng cách giải ngược và thế dần từ dưới lên

Ví dụ 2.    
1 2 3 6  x1 + x2 + 3x3 = 6  x3 = 1
 0 2 1 3 ⇔ 2x2 + x3 = 3 ⇔ x2 = 1
0 0 −7 −7 − 7x3 = −7 x1 = 1
 

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 3 GIẢI PHƯƠNG TRÌNH Ax = b 9/26 01/2023 9 / 26
3.3 Phương pháp Gauss-Jordan

Quá trình khử

Chọn phần tử theo ưu tiên giá trị


Ưu tiên 1: chọn phần tử có |aij | = 1
Ưu tiên 2: chọn phần tử có |aij | lớn nhất
Chỉ chọn trong số các hàng, cột chưa có phần tử khử

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 3 GIẢI PHƯƠNG TRÌNH Ax = b 11/26 01/2023 11 / 26
3.3 Phương pháp Gauss-Jordan

Ví dụ 3.
  h1 −5h2 →h1  
5 −2 4 8 0 −37 24 −17
h3 −3h2 →h3
Ā =  1 7 −4 5  ←→  1 7 −4 5 
3 −5 7 12 0 −26 19 −3

7 h →h
h2 + 37
 
1 2 0 −37 24 −17
h3 − 26  1 20 66
h →h2
37 1 0 
←→ 

37 37 

79 331
0 0 37 37

−9287
 
7 h →h
h2 + 37 1 2
0 −37 0 79
 
h3 − 26 h →h2
37 1 −38
 
←→  1
 0 0 79


 
79 331
0 0 37 37

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 3 GIẢI PHƯƠNG TRÌNH Ax = b 12/26 01/2023 12 / 26
3.3 Phương pháp Gauss-Jordan

Xác định nghiệm

Chuẩn hóa các phần tử khử


Xác định nghiệm

Ví dụ 3.
−9287
   9287
    −38 
0 −37 0 79
0 1 0 2923
x1 79
       
 −38
 Chia hàng cho phần tử khử  −38
    
 1 0 0  ←→  1 0 0  ⇔ x2  =  9287 
 79   79     2923 
       
79 331 331 331
0 0 37 37
0 0 1 79
x3 79

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 3 GIẢI PHƯƠNG TRÌNH Ax = b 13/26 01/2023 13 / 26
3.4 Phương pháp lặp đơn

Chuẩn của vector x = (x1 , x2 , . . . , xN ) ∈ RN

Chuẩn p của vector:


" N
# p1
X p
∥x∥p = |xi | (1)
k=1

Chuẩn hàng p = ∞:
∥x∥∞ = max {|xi |} (2)
i=1,N

Chuẩn cột p = 1:
N
X
∥x∥1 = |xi | (3)
k=1

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 3 GIẢI PHƯƠNG TRÌNH Ax = b 15/26 01/2023 15 / 26
3.4 Phương pháp lặp đơn

Chuẩn của ma trận A = [aij ] ∈ RN ×N

Chuẩn p của ma trận: ( )


∥Ax∥p
∥A∥p = sup (4)
x̸=0 ∥x∥p

Chuẩn hàng p = ∞: (N )
X
∥A∥∞ = max |aij | (5)
i=1,N
j=1

Chuẩn cột p = 1: (N )
X
∥A∥1 = max |aij | (6)
j=1,N
i=1

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 3 GIẢI PHƯƠNG TRÌNH Ax = b 16/26 01/2023 16 / 26
3.4 Phương pháp lặp đơn

Điều kiện hội tụ

Phương trình lặp x = Bx + d, B ∈ RN ×N , d ∈ RN


∃p, ∥B∥p ≤ q < 1
Xấp xỉ ban đầu bất kỳ x0 ∈ RN

Ví dụ 4. Cho phương trình x = Bx + d với


   
0.2 0.1 −0.15 15.23
B =  0.12 0.24 0.1  và d =  5.82 
−0.25 0.17 −0.23 9.61

Ta có ∥B∥∞ = max {0.45, 0.46, 0.65} = 0.65 < 1 thỏa mãn điều kiện hội tụ của phương pháp lặp đơn.

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 3 GIẢI PHƯƠNG TRÌNH Ax = b 17/26 01/2023 17 / 26
3.4 Phương pháp lặp đơn

Công thức sai số


Công thức tiên nghiệm:
qn
∥xn − x∗ ∥p ≤ ∥x1 − x0 ∥p (7)
1−q
Công thức hậu nghiệm:
q
∥xn − x∗ ∥p ≤ ∥xn − xn−1 ∥p (8)
1−q

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 3 GIẢI PHƯƠNG TRÌNH Ax = b 18/26 01/2023 18 / 26
3.4 Phương pháp lặp đơn

 T
Ví dụ 5. Tính đến xấp xỉ x5 và đánh giá sai số cho x5 biết x0 = 20 11 5 .

x0 x1 x2 x3 x4 x5

20 19.58 19.4825 19.456355 19.4502146 19.44835396


11 11.36 11.429 11.44289 11.4446198 11.44483513
5 5.33 5.4203 5.435636 5.44100627 5.441600274

q
∥xn − x∗ ∥∞ ≤ ∥xn − xn−1 ∥∞ = 0.003455475
1−q
∆xn
δxn = = 0.0177674%
∥xn ∥∞

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 3 GIẢI PHƯƠNG TRÌNH Ax = b 19/26 01/2023 19 / 26
3.5 Phương pháp lặp Jacobi

Định nghĩa 1
Ma trận chéo trội
Ma trận chéo trội hàng
N
X
|aii | > |aij | (9)
j=1, j̸=i

Ma trận chéo trội cột


N
X
|ajj | > |aij | (10)
i=1, i̸=j

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 3 GIẢI PHƯƠNG TRÌNH Ax = b 21/26 01/2023 21 / 26
3.5 Phương pháp lặp Jacobi

Phương trình lặp và hệ số co


Phương trình lặp:  
1 1 1
x = (I − T A)x + T b, T = diag , ,..., (11)
a11 a22 aN N
Hệ số co:
1 X
qhàng = max |aij | (12)
i=1,N |aii |
j̸=i

1 X
qcột = max |aij | (13)
j=1,N |ajj |
i̸=j

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 3 GIẢI PHƯƠNG TRÌNH Ax = b 22/26 01/2023 22 / 26
3.5 Phương pháp lặp Jacobi

Ví dụ 6. Cho phương trình Ax = b với


   
12.2 2.1 −3.15 15.23
A =  1.12 7.24 2.1  và b =  5.82 
−3.25 1.17 −9.23 9.61

Dễ kiểm tra thấy A là ma trận vừa chéo trội hàng vừa chéo trội cột.
 −2.1 3.15   15.23 
0
 12.2 12.2   12.2 
     
1 1 −1  −1.12 −2.1   5.82 
   
T = diag , , và B = I − T A =  0  và d = T b = 
12.2 7.24 9.23

 7.24 7.24   7.24 
   
   
−3.25 1.17 −9.61
0
9.23 9.23 9.23
Công thức lặp: xn+1 = Bxn + d.

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 3 GIẢI PHƯƠNG TRÌNH Ax = b 23/26 01/2023 23 / 26
3.5 Phương pháp lặp Jacobi

Ví dụ 6.
Hệ số co trường hợp xem A là ma trận chéo trội hàng:
 
5.25 3.22 4.42
q = max , , = 0.478873239.
12.2 7.24 9.23

Hệ số co trường hợp xem A là ma trận chéo trội cột:


 
4.37 3.27 5.25
q = max , , = 0.5687974.
12.2 7.24 9.23

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 3 GIẢI PHƯƠNG TRÌNH Ax = b 24/26 01/2023 24 / 26
3.5 Phương pháp lặp Jacobi

Công thức sai số


Công thức tiên nghiệm:
λq n
∥xn − x∗ ∥p ≤ ∥x1 − x0 ∥p (14)
1−q
Công thức hậu nghiệm:
λq
∥xn − x∗ ∥p ≤ ∥xn − xn−1 ∥p (15)
1−q
trong đó, nếu A chéo trội hàng thì dùng chuẩn p = ∞, hệ số co q = qhàng , và λ = 1. Nếu A chéo trội cột thì

max |aii | , i = 1, N
dùng chuẩn p = 1, hệ số co q = qcột , và λ =  .
min |aii | , i = 1, N

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 3 GIẢI PHƯƠNG TRÌNH Ax = b 25/26 01/2023 25 / 26
3.6 Phương pháp lặp Gauss-Seidel

Lặp Gauss-Seidel

Điều kiện hội tụ: A là ma trận chéo trội.


Công thức lặp:
xn+1 = T Lxn+1 + T U xn + T b
trong đó  
1 1 1
T = diag , ,..., , A=D−L−U
a11 a22 aN N
với D, −L, −U lần lượt là ma trận đường chéo, ma trận tam giác dưới và ma trận tam giác trên tạo ra từ
ma trận A.

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 3 GIẢI PHƯƠNG TRÌNH Ax = b 26/26 01/2023 26 / 26
Chương 4
Xấp xỉ hàm số

BỘ MÔN TOÁN ỨNG DỤNG(1)

VIỆN TOÁN ỨNG DỤNG VÀ TIN HỌC


TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

01/2023

(1)
Email: yen.hathingoc@hust.edu.vn
Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 4 Xấp xỉ hàm số 1/47 01/2023 1 / 47
Nội dung

Nội dung Chương 4


4.1 Bài toán nội suy
4.2 Sơ đồ Horner và ứng dụng
4.3 Đa thức nội suy Lagrange
4.4 Đa thức nội suy Newton
4.5 Phương pháp bình phương tối thiểu

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 4 Xấp xỉ hàm số 3/47 01/2023 3 / 47
Mục tiêu

Mục tiêu chương 4


1 Sử dụng được sơ đồ Horner tính giá trị đa thức, phép chia và phép nhân đa thức với x − c, tính đạo hàm
của đa thức.
2 Xây dựng được đa thức nội suy bằng các công thức nội suy Lagrange và Newton.
3 Sử dụng đa thức nội suy tính gần đúng giá trị của f (x) và f ′ (x) và ước lượng sai số cho giá trị tính được.
4 Xác đinh được hàm thực nghiệm với dạng cho trước phù hợp với dữ liệu đầu vào.
5 Viết được thuật toán và sơ đồ khối cho các phương pháp.

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 4 Xấp xỉ hàm số 4/47 01/2023 4 / 47
4.1 Bài toán nội suy

Phát biểu bài toán



Cho tập n + 1 điểm S = (xi , yi ) , i = 0, n . Tìm đa thức bậc không quá n đi qua tất cả các điểm của S.
Cụ thể là tìm P ∈ P [x] , P (xi ) = yi ∀i = 0, n. Khi đó, P được gọi là đa thức nội suy tương ứng với S.

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 4 Xấp xỉ hàm số 6/47 01/2023 6 / 47
4.1 Bài toán nội suy

Định nghĩa 1

Cho P là đa thức nội suy tương ứng với tập điểm S = (xi , yi ) , i = 0, n . Khi đó, ta gọi:
S là tập các điểm nội suy,
(xi , yi ) là điểm nội suy,
xi , yi tương ứng là mốc nội suy và giá trị nội suy,
 
a := min xi , i = 0, n , b := max xi , i = 0, n , (a, b) là khoảng nội suy,
phép xấp xỉ f (x) ≈ P (x), x ∈ (a, b) là phép nội suy,
phép xấp xỉ f (x) ≈ P (x), x ∈
/ (a, b) là phép ngoại suy.

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 4 Xấp xỉ hàm số 7/47 01/2023 7 / 47
4.1 Bài toán nội suy

Định lý 1

Cho tập điểm nội suy S = (xi , yi ) , i = 0, n với các mốc nội suy đôi một khác nhau

xi ̸= xj ∀ i ̸= j (1)

Khi đó, tồn tại duy nhất một đa thức nội suy tương ứng với S.

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 4 Xấp xỉ hàm số 8/47 01/2023 8 / 47
4.1 Bài toán nội suy

Định lý 2

Cho tập điểm nội suy S = (xi , yi = f (xi )) , i = 0, n với các mốc nội suy đôi một khác nhau. Giả sử hàm f (x)
trơn đến cấp n + 1 và P là đa thức nội suy tương ứng với S. Khi đó, với mỗi giá trị x ∈ R, ta có:
n
Mn+1 Y
|f (x) − P (x)| ≤ (x − xi ) (2)
(n + 1)! i=0

trong đó, Mn+1 ≥ max[a,b] f (n+1) (x) .

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 4 Xấp xỉ hàm số 9/47 01/2023 9 / 47
4.2 Sơ đồ Horner

Tính giá trị đa thức và phép chia đa thức

P (c) =? biết P (x) = a0 + a1 x + a2 x2 + · · · + an−1 xn−1 + an xn

(+) an an−1 an−2 ... a1 a0


c bn c bn−1 c ... b2 c b1 c
bn bn−1 bn−2 ... b1 b0
(
bn = an
(3)
bk = bk+1 c + ak , k = n − 1, 0

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 4 Xấp xỉ hàm số 11/47 01/2023 11 / 47
4.2 Sơ đồ Horner

Tính giá trị đa thức và phép chia đa thức

P (c) =? biết P (x) = a0 + a1 x + a2 x2 + · · · + an−1 xn−1 + an xn

(+) an an−1 an−2 ... a1 a0


c bn c bn−1 c ... b2 c b1 c
bn bn−1 bn−2 ... b1 b0

P (c) = b0
P (x) b0 (4)
 = bn xn−1 + bn−1 xn−2 + · · · + b2 x + b1 +
x−c x−c

Ví dụ: xem II slide 20

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 4 Xấp xỉ hàm số 12/47 01/2023 12 / 47
4.2 Sơ đồ Horner

Phép nhân đa thức

P (x)(x − c) =? biết P (x) = a0 + a1 x + a2 x2 + · · · + an−1 xn−1 + an xn

(−) an an−1 an−2 ... a1 a0


c an c an−1 c ... a2 c a1 c a0 c
bn+1 bn bn−1 ... b2 b1 b0

bn+1
 = an
bk = bk c + ak−1 , k = n, 1 (5)

b0 = −a0 c

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 4 Xấp xỉ hàm số 13/47 01/2023 13 / 47
4.2 Sơ đồ Horner

Phép nhân đa thức - Sơ đồ rút gọn

P (x)(x − c) =? biết P (x) = a0 + a1 x + a2 x2 + · · · + an−1 xn−1 + an xn

(−) an an−1 an−2 ... a1 a0


c bn+1 bn bn−1 b2 ... b1 b0

bn+1
 = an
bk = bk c + ak−1 , k = n, 1

b0 = −a0 c

Ví dụ: xem slide 19, 30, 37.

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 4 Xấp xỉ hàm số 14/47 01/2023 14 / 47
4.3 Đa thức nội suy Lagrange

Đa thức Lagrange cơ bản


Đa thức Li ∈ P [x] thỏa mãn điều kiện: (
0 j ̸= i
Li (xj ) = (6)
1 j=i
được gọi là đa thức lăng cơ bản tương ứng với mốc nội suy xi . Cụ thể là:
1

 Di =
(xi − x0 ) . . . (xi − xi−1 )(xi − xi+1 )(xi − xn )




Y (7)

Li (x)


 = Di (x − xj )
j̸=i

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 4 Xấp xỉ hàm số 16/47 01/2023 16 / 47
4.3 Đa thức nội suy Lagrange

Công thức nội suy Lagrange


Dạng 1.
1

Di =
(xi − x0 ) . . . (xi − xi−1 )(xi − xi+1 )(xi − xn )




Y (8)
 Pn Pn
P (x)


 = i=0 yi Li (x) = i=0 yi Di (x − xj )
j̸=i

Dạng 2
1

Di =
(xi − x0 ) . . . (xi − xi−1 )(xi − xi+1 )(xi − xn )





n n n
(9)

 Y X yi Di X yi Di wn+1 (x)
P (x)

 = (x − xj ) = .

j=0 i=0
x − x i
i=0
x − xi

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 4 Xấp xỉ hàm số 17/47 01/2023 17 / 47
4.3 Đa thức nội suy Lagrange

Ví dụ 1. Xây dựng đa thức nội suy Lagrange (dạng chính tắc) tương ứng với tập điểm nội suy cho trong bảng
dưới đây và tính gần đúng giá trị hàm số và đạo hàm của n tại x = 2.5.

xi 2.1 2.3 2.4 2.6 2.7


yi 8.0241 10.5346 12.0174 15.4766 17.468

Cách làm.
1. Tính tích w5 (x) = (x − 2.1)(x − 2.3)(x − 2.4)(x − 2.6)(x − 2.7).
Di w5 (x)
2. Xác định các đa thức Lagrange cơ bản theo công thức Li (x) = .
x − xi
3. Xác định đa thức nội suy theo công thức P4 (x) = y0 L0 (x) + · · · + y5 L5 (x).

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 4 Xấp xỉ hàm số 18/47 01/2023 18 / 47
4.3 Đa thức nội suy Lagrange

Lời giải cho Ví dụ 1.


Dùng sơ đồ tích tính w5 (x) = (x − 2.1)(x − 2.3)(x − 2.4)(x − 2.6)(x − 2.7).

2.1 0 0 0 1 −2.1
2.3 0 0 1 −4.4 4.83
2.4 0 1 −6.8 15.39 −11.592
2.6 1 −9.4 33.07 −51.606 30.1392
2.7 −12.1 58.45 −140.895 169.4754 −81.37584

Bảng I: Bảng tính nhân đa thức

Vậy ta có w5 (x) = −12.1x4 + 58.45x3 − 140.895x2 + 169.4754x − 81.37584.

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 4 Xấp xỉ hàm số 19/47 01/2023 19 / 47
4.3 Đa thức nội suy Lagrange

Lời giải cho Ví dụ 1.


w5 (x)
Dùng sơ đồ thương tính các thương .
x − xi

1 −12.1 58.45 −140.895 169.4754 −81.37584


2.1 1 −10 37.45 −62.25 38.7504 0
2.3 1 −9.8 35.91 −58.302 35.3808 0
2.4 1 −9.7 35.17 −56.487 33.9066 0
2.6 1 −9.5 33.75 −53.145 31.2984 0
2.7 1 −9.4 33.07 −51.606 30.1392 0

Bảng II: Bảng tính chia đa thức

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 4 Xấp xỉ hàm số 20/47 01/2023 20 / 47
4.3 Đa thức nội suy Lagrange

Lời giải cho Ví dụ 1.


Từ bảng thương ta có các đa thức Lagrange cơ bản:

D0 w5 (x) 1
x4 − 10x3 + 37.45x2 − 62.25x + 38.7504 ,

L0 (x) = =
x − x0 0.018
D1 w5 (x) 1
x4 − 9.8x3 + 35.91x2 − 58.302x + 35.3808 ,

L1 (x) = =
x − x1 −0.0024
D2 w5 (x) 1
x4 − 9.7x3 + 35.17x2 − 56.487x + 33.9066 ,

L2 (x) = =
x − x2 0.0018
D3 w5 (x) 1
x4 − 9.5x3 + 33.75x2 − 53.145x + 31.2984 ,

L3 (x) = =
x − x3 −0.003
D4 w5 (x) 1
x4 − 9.4x3 + 33.07x2 − 51.606x + 30.1392 .

L4 (x) = =
x − x4 0.0072

Do đó, ta thu được đa thức nội suy Langrange:

P (x) = y0 L0 (x) + y1 L1 (x) + y2 L2 (x) + y2 L2 (x) + y3 L3 (x) + y4 L4 (x)


= −0.055555556x4 + 1.805555556x3 − 2.978888889x2 + 1.796x + 1.7486.

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 4 Xấp xỉ hàm số 21/47 01/2023 21 / 47
4.3 Đa thức nội suy Lagrange

Lời giải cho Ví dụ 1. Cuối cùng, dùng sơ đồ Hoocner tính giá trị đa thức và đạo hàm tại x = 2.5.

−0.055555556 1.805555556 −2.978888889 1.796 1.7486


2.5 −0.055555556 1.666666667 1.187777778 4.765444445 13.66221111
−0.055555556 1.527777778 5.007222222 17.2835

Từ đó, ta có các giá trị cần tìm:

f (2.5) ≈ P (2.5) = 13.66221111 và f ′ (2.5) ≈ P ′ (2.5) = 17.2835.

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 4 Xấp xỉ hàm số 22/47 01/2023 22 / 47
4.4 Đa thức nội suy Newton

Định nghĩa 2
Tỷ sai phân của hàm số tại các mốc nội suy được định nghĩa quy nạp như sau:
Tỷ sai phân cấp 1
yk+1 − yk
f [xk , xk+1 ] = (10)
xk+1 − xk
Tỷ sai phân cấp 2
f [xk+1 , xk+2 ] − f [xk , xk+1 ]
f [xk , xk+1 , xk+2 ] = (11)
xk+2 − xk
Tỷ sai phân cấp s
f [xk+1 , . . . , xk+s ] − f [xk , xk+1 , . . . , xk+s−1 ]
f [xk , . . . , xk+s ] = (12)
xk+s − xk

Ví dụ: xem slide 29.

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 4 Xấp xỉ hàm số 24/47 01/2023 24 / 47
4.4 Đa thức nội suy Newton

Xây dựng công thức


f (x) − y0
f [x, x0 ] = =⇒ f (x) = y0 + f [x, x0 ] (x − x0 ) = P0 (x) + R0 (x)
x − x0
f [x, x0 ] − f [x0 , x1 ]
f [x, x0 , x1 ] =
x − x1

=⇒ f [x, x0 ] = f [x0 , x1 ] + f [x, x0 , x1 ] (x − x1 )

=⇒ f (x) = P0 + f [x0 , x1 ] (x − x0 ) + f [x, x0 , x1 ] (x − x0 ) (x − x1 )

= P1 (x) + R1 (x)

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 4 Xấp xỉ hàm số 25/47 01/2023 25 / 47
4.4 Đa thức nội suy Newton

Công thức nội suy Newton mốc bất kỳ


P (x) = y0 + f [x0 , x1 ] (x − x0 ) + f [x0 , x1 , x2 ] (x − x0 ) (x − x1 )

+ f [x0 , . . . , x3 ] (x − x0 ) (x − x1 ) (x − x2 )
(13)
+ ···

+ f [x0 , . . . , xn ] (x − x0 ) . . . (x − xn−1 ) .

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 4 Xấp xỉ hàm số 26/47 01/2023 26 / 47
4.4 Đa thức nội suy Newton

Định nghĩa 3
Khi các mốc nội suy được sắp theo thứ tự tăng dần

x0 < x1 < . . . < xn

thì công thức nội suy (13) được gọi là công thức nội suy Newton tiến.
Khi các mốc nội suy được sắp theo thứ tự giảm dần

x0 > x1 > . . . > xn

thì công thức nội suy (13) được gọi là công thức nội suy Newton lùi.

Định nghĩa 4
Các mốc nội suy {xi , i = 0, n} được gọi là các mốc cách đều nếu
b−a
xk = x0 + kh, k = 0, n, h =
n

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 4 Xấp xỉ hàm số 27/47 01/2023 27 / 47
4.4 Đa thức nội suy Newton

Ví dụ 2. Cho hàm y = f (x) thỏa mãn bảng dữ liệu dưới đây.

k 0 1 2 3 4
xk 3.2 3.5 3.7 3.8 4.1
yk 30.3222 40.5807 48.5752 52.9341 67.5127

1. Xây dựng đa thức nội suy Newton tiến mốc bất kỳ (dạng chính tắc).
2. Tính gần đúng giá trị y(3.6) và y ′ (3.6).

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 4 Xấp xỉ hàm số 28/47 01/2023 28 / 47
4.4 Đa thức nội suy Newton

Lời giải. Lập bảng tỷ sai phân

xi yi TSP1 TSP2 TSP3 TSP4


3.2 30.3222
3.5 40.5807 34.195
3.7 48.5752 39.9725 11.555
3.8 52.9341 43.589 12.055 0.833333333
4.1 67.5127 48.59533333 12.51583333 0.768055556 −0.072530864

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 4 Xấp xỉ hàm số 29/47 01/2023 29 / 47
4.4 Đa thức nội suy Newton

Lời giải ví dụ 2.
Lập bảng tính tích (x − 3.2)(x − 3.5)(x − 3.7)(x − 3.8)

0 0 0 0 1
3.2 0 0 0 1 −3.2
3.5 0 0 1 −6.7 11.2
3.7 0 1 −10.4 35.99 −41.44
3.8 1 −14.2 75.51 −178.202 157.472

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 4 Xấp xỉ hàm số 30/47 01/2023 30 / 47
4.4 Đa thức nội suy Newton

Lời giải ví dụ 2.
Thiết lập đa thức nội suy Newton tiến:

P (x) = y0 + f [x0 , x1 ] (x − x0 ) + f [x0 , x1 , x2 ] (x − x0 ) (x − x1 ) + · · · + f [x0 , x1 , . . . , x4 ] (x − x0 ) . . . (x − x3 )


= 30.3222 + 34.195 (x − 3.2) + 11.555 (x − 3.2) (x − 3.5) + 0.833333333 (x − 3.2) (x − 3.5) (x − 3.7)
− 0.072530864 (x − 3.2) (x − 3.5) (x − 3.7) (x − 3.8)
= −0.072530864x4 + 1.863271605x3 − 2.588472222x2 − 0.306688271x + 4.359286419.

Tính xấp xỉ tại x = 3.6 ta thu được kết quả

y(3.6) ≈ P (3.6) = 44.45900864 và y ′ (3.6) ≈ P ′ (3.6) = 39.96431173.

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 4 Xấp xỉ hàm số 31/47 01/2023 31 / 47
4.4 Đa thức nội suy Newton mốc cách đều

Định nghĩa 5
Sai phân của hàm số tại các mốc nội suy được định nghĩa quy nạp như sau:
Sai phân tiến cấp 1 từ xk và sai phân lùi cấp 1 từ xk+1

∆yk = yk+1 − yk = ∇yk+1 (14)

Sai phân tiến cấp 2 từ xk và sai phân lùi cấp 2 từ xk+2

∆2 yk = ∆yk+1 − ∆yk = ∇yk+2 − ∇yk+1 = ∇2 yk+2 (15)

Sai phân tiến cấp s từ xk và sai phân lùi cấp s từ xk+s

∆s yk = ∆s−1 yk+1 − ∆s−1 yk = ∇s−1 yk+s − ∇s−1 yk+s−1 = ∇s yk+s (16)

Ví dụ: xem slide 36.

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 4 Xấp xỉ hàm số 32/47 01/2023 32 / 47
4.4 Đa thức nội suy Newton mốc cách đều

Liên hệ giữa sai phân và tỷ sai phân

Sai phân và tỷ sai phân cấp 1


∆yk ∇yk+1
f [xk , xk + 1] = = (17)
h h
Sai phân và tỷ sai phân cấp s
∆s yk ∇s yk+s
f [xk , . . . , xk+s ] = s
= (18)
s!h s!hs

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 4 Xấp xỉ hàm số 33/47 01/2023 33 / 47
4.4 Đa thức nội suy Newton

Công thức nội suy Newton tiến mốc cách đều


∆2 y0 ∆3 y0
P (x0 + th) = y0 + ∆y0 t + t (t − 1) + t(t − 1)(t − 2)
2! 3!
(19)
∆n y0
+ ··· + t(t − 1) . . . (t − n + 1).
n!

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 4 Xấp xỉ hàm số 34/47 01/2023 34 / 47
4.4 Đa thức nội suy Newton

Ví dụ 3. Cho hàm y = f (x) thỏa mãn bảng dữ liệu sau.

k 0 1 2 3 4 5
xk 1.2 1.4 1.6 1.8 2 2.2
yk 2.6158 3.1604 4.0245 5.2754 6.9804 9.2062

1. Xây dựng đa thức nội suy Newton tiến mốc cách đều xuất phát từ x0 = 1.2.
2. Tính gần đúng y(1.7) và y ′ (1.7).

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 4 Xấp xỉ hàm số 35/47 01/2023 35 / 47
4.4 Đa thức nội suy Newton

Lời giải ví dụ 3.
Các mốc nội suy cách đều với bước h = 0.2.
Lập bảng sai phân:

xk yk SP1 SP2 SP3 SP4 SP5


1.2 2.6158
1.4 3.1604 0.5446
1.6 4.0245 0.8641 0.3195
1.8 5.2754 1.2509 0.3868 0.0673
2 6.9804 1.705 0.4541 0.0673 0
2.2 9.2062 2.2258 0.5208 0.0667 −0.0006 −0.0006

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 4 Xấp xỉ hàm số 36/47 01/2023 36 / 47
4.4 Đa thức nội suy Newton

Lời giải ví dụ 3.
Lập bảng tính tích:

0 0 0 0 0 1
0 0 0 0 0 1 0
1 0 0 0 1 −1 0
2 0 0 1 −3 2 0
3 0 1 −6 11 −6 0
4 1 −10 35 −50 24 0

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 4 Xấp xỉ hàm số 37/47 01/2023 37 / 47
4.4 Đa thức nội suy Newton

Lời giải ví dụ 3.
x − 1.2
Đa thức nội suy Newton tiến môc bất kỳ theo biến t = = 5x − 6.
0.2
∆2 y0 ∆3 y0 ∆4 y0
P (t) = y0 + ∆y0 t + t(t − 1) + t(t − 1)(t − 2) + t(t − 1)(t − 2)(t − 3)
2! 3! 4!
∆5 y0
+ t(t − 1)(t − 2)(t − 3)(t − 4)
5!
0.3195 0.0673 0
= 2.6158 + 0.5446t + t(t − 1) + t(t − 1)(t − 2) + t(t − 1)(t − 2)(t − 3)
2! 3! 4!
−0.0006
+ t(t − 1)(t − 2)(t − 3)(t − 4)
5!
= −5 × 10 t + 5 × 10−5 t4 + 0.011041667t3 + 0.12635t2 + 0.407163333t + 2.6158
−6 5

Tính giá trị y và y ′ tại x = 1.7 tương ứng với t = 2.5:


P ′ (2.5)
y(1.7) ≈ P (2.5) = 4.597386719 và y ′ (1.7) ≈ = 6.240465104.
h

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 4 Xấp xỉ hàm số 38/47 01/2023 38 / 47
4.4 Đa thức nội suy Newton

Công thức nội suy Newton lùi mốc cách đều


∇2 yn ∇3 yn
P (xn + th) = yn + ∇yn t + t (t + 1) + t(t + 1)(t + 2)
2! 3!
(20)
∇n yn
+ ··· + t(t + 1) . . . (t + n − 1).
n!

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 4 Xấp xỉ hàm số 39/47 01/2023 39 / 47
4.5 Phương pháp bình phương tối thiểu

Phát biểu bài toán


Cho hệ hàm độc lập tuyến tính trong không gian các hàm liên tục: {φj (x), j = 1, m} ⊂ C [a, b] .
Tìm hàm thực nghiệm dạng y = a1 φ1 (x) + a2 φ2 (x) + · · · + am φm (x) với tập dữ liệu S = {(xi , yi ) , i = 1, n}
sao cho sai số trung bình phương là nhỏ nhất, tức là:
v
u n
u1 X
σ=t (a1 φ1 (xi ) + a2 φ2 (xi ) + · · · + am φm (xi ) − yi )2 −→ min (21)
n i=1

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 4 Xấp xỉ hàm số 41/47 01/2023 41 / 47
4.5 Phương pháp bình phương tối thiểu

Bài toán cực trị


Tìm (a1 , . . . , am ) sao cho hàm tổng S dưới đây đạt giá trị nhỏ nhất.
n
X
S (a1 , . . . , am ) = nσ 2 = (a1 φ1 (xi ) + a2 φ2 (xi ) + · · · + am φm (xi ) − yi )2 (22)
i=1

S là hàm đa thức bậc hai đối với các biến aj với các hệ số của các a2j dương. Do đó, S có cực tiểu toàn cục đạt
tại điểm dừng duy nhất, tức là:
n
∂S X
= [2 (a1 φ1 (xi ) + a2 φ2 (xi ) + · · · + am φm (xi ) − yi ) φj (xi )] = 0
∂aj i=1

Do đó, ta có hệ phương trình cho phép xác định các hệ số (a1 , . . . , am )


n
X n
X n
X n
X
a1 φ1 (xi )φj (xi ) + a2 φ2 (xi )φj (xi ) + · · · + am φm (xi )φj (xi ) = yi φj (xi ), j = 1, m. (23)
i=1 i=1 i=1 i=1

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 4 Xấp xỉ hàm số 42/47 01/2023 42 / 47
4.5 Phương pháp bình phương tối thiểu

Bài toán hình chiếu


Đặt gh = (g(x1 ), g(x2 ), . . . , g(xn ))T là vector sinh từ hàm liên tục g ∈ C [a, b] bất kỳ,
V = span {φ1h , φ2h , . . . , φmh } . Xác định yh ∈ V sao cho S = nσ 2 = ∥yh − fh ∥ nhỏ nhất

∥yh − fh ∥ −→ min tức là yh = proV fh ⇔ ⟨yh − fh , φjh ⟩ = 0.


Do đó, ta có hệ phương trình cho phép xác định vector hệ số a = (a1 , . . . , am )T

a1 ⟨φ1h , φjh ⟩ + a2 ⟨φ2h , φjh ⟩ + · · · + am ⟨φmh , φjh ⟩ = ⟨fh , φjh ⟩, j = 1, m. (24)

Hệ phương trình (24) có thể viết lại dưới dạng ma trận:

ΦTh Φh a = ΦTh fh , (25)

trong đó Φh là ma trận (cột) của hệ vector φih , i = 1, m.

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 4 Xấp xỉ hàm số 43/47 01/2023 43 / 47
4.5 Phương pháp bình phương tối thiểu

Ví dụ 4.
Tìm hàm thực nghiệm dạng y = ax3 + b cos x biết bảng dữ liệu

xk 1.1 1.3 1.5 1.7 1.9


yk 1.7768 1.7539 1.8608 2.1408 2.6374
xk 2.1 2.3 2.5 2.7 2.9
yk 3.3936 4.4511 5.8497 7.6265 9.8157

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 4 Xấp xỉ hàm số 44/47 01/2023 44 / 47
4.5 Phương pháp bình phương tối thiểu
Lời giải ví dụ 4. Thiết lập tổng bình phương sai lệch:
10
X 2
S= ax3k + b cos xk − yk
k=1

Đặt
T
φ1 = x31 , x32 , . . . , x310 ,

φ2 = (cos x1 , cos x2 , . . . , cos x10 )T ,

y = (y1 , y2 , . . . , y10 )T ,

g = aφ1 + bφ2 .
2
Khi đó, S = ∥g − y∥ . Do đó, S nhỏ nhất khi và chỉ khi g là hình chiếu của y trong không gian
V = span{φ1 , φ2 }.

g = projV y ⇐⇒ g ⊥ V
Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 4 Xấp xỉ hàm số 45/47 01/2023 45 / 47
4.5 Phương pháp bình phương tối thiểu

Lời giải ví dụ 4.
  P10 P10 3 P10
6
a ⟨φ1 , φ1 ⟩ + b ⟨φ2 , φ1 ⟩
 = ⟨y, φ1 ⟩ a k=1 xk + b k=1 xk cos xk
 = k=1 x3k yk
⇐⇒ ⇐⇒
 P10 3
a k=1 xk cos xk + b 10
  P 2 P10
a ⟨φ1 , φ2 ⟩ + b ⟨φ2 , φ2 ⟩ = ⟨y, φ2 ⟩ k=1 cos xk = yk cos xk

k=1
        
1549.35889 −68.1956665 a 607.5998487 a 0.500000988
⇐⇒ = ⇐⇒ =
−68.1956665 3.504156479 b −25.51262763 b 2.450025585
Vậy hàm cần tìm là y = 0.5x3 + 2.45 cos x.

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 4 Xấp xỉ hàm số 46/47 01/2023 46 / 47
4.5 Phương pháp bình phương tối thiểu

Chú ý.
Có thể sử dụng các phép đổi biến hàm, biến số để đưa dạng hàm cần tìm về dạng hàm tuyến tính theo tham số
để sử dụng phương pháp.
Ví dụ 5.
Dạng hàm y = aebx + 3 không tuyến tính theo tham số b.
Nhận xét: y − 3 = aebx có dấu trùng với dấu của a.
Nếu yk > 3 với mọi k thì y − 3 > 0 và a > 0, nếu trái lại, n yk < 3 với mọi k thì y − 3 < 0 và a < 0.
Lấy logarit 2 vế, ta có ln |y − 3| = ln |a| + bx.
Đổi biến hàm: Y (x) = y(x) − 3 hoặc Y (x) = 3 − y(x) để Y (x) > 0, đổi tham số: A = ln(±a).
Sau đó, áp dụng phương pháp bình phương tối thiểu cho dạng hàm Y = A + bx tuyến tính theo 2 tham số A, b.

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 4 Xấp xỉ hàm số 47/47 01/2023 47 / 47
Chương 5
Tính gần đúng đạo hàm và tích phân

BỘ MÔN TOÁN ỨNG DỤNG(1)

VIỆN TOÁN ỨNG DỤNG VÀ TIN HỌC


TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

01/2023

(1)
Email: yen.hathingoc@hust.edu.vn
Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 5 Tính gần đúng đạo hàm và tích phân 1/16 01/2023 1 / 16
Nội dung

Nội dung Chương 5

5.1 Các công thức tính gần đúng đạo hàm


5.2 Công thức hình thang tính gần đúng tích phân xác định
5.3 Công thức Simpson tính gần đúng tích phân xác định

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 5 Tính gần đúng đạo hàm và tích phân 3/16 01/2023 3 / 16
Mục tiêu

Mục tiêu chương 5


1 Tính được đạo hàm qua bảng giá trị rời rạc
2 Tính được tích phân xác định và đánh giá được sai số bằng công thức hình thang và công thức Simpson
3 Viết được thuật toán và sơ đồ khối cho các công thức tính

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 5 Tính gần đúng đạo hàm và tích phân 4/16 01/2023 4 / 16
5.1 Tính gần đúng đạo hàm

Công thức 2 điểm


Với 2 điểm nội suy (xk , yk ) , (xk+1 , yk+1 ) , đạo hàm bậc nhất của hàm số y = f (x) tại 2 mốc nội suy tương
ứng có thể được tính theo công thức:
yk+1 − yk
f ′ (xk ) ≈ ≈ f ′ (xk−1 ) (1)
h

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 5 Tính gần đúng đạo hàm và tích phân 6/16 01/2023 6 / 16
5.1 Tính gần đúng đạo hàm

Công thức 3 điểm


Với 3 điểm nội suy (xk , yk ) , (xk+1 , yk+1 ) , (xk+2 , yk+2 ) , đạo hàm bậc nhất của hàm số y = f (x) tại 3 mốc
nội suy tương ứng có thể được tính theo công thức:
Công thức cận trái
−3yk + 4yk+1 − yk+2
f ′ (xk ) ≈ (2)
2h
Công thức trung tâm
−yk + yk+2
f ′ (xk ) ≈ (3)
2h
Công thức cận phải
yk−2 − 4yk−1 + 3yk
f ′ (xk ) ≈ (4)
2h

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 5 Tính gần đúng đạo hàm và tích phân 7/16 01/2023 7 / 16
5.1 Tính gần đúng đạo hàm

Ví dụ 1.
Cho hàm số y = f (x) thỏa mãn bảng dữ liệu dưới đây. Dùng các công thức 3 điểm tình gần đúng đạo hàm tại
các mốc nội suy.

i 0 1 2 3 4 5
xi 1 1.1 1.2 1.3 1.4 1.5
yi 0.41 1.38625 2.5296 3.85295 5.3692 7.09125

Lời giải.
−3y0 + 4y1 − y2
Tại x0 , ta có y ′ (x0 ) ≈ = 8.927.
2h
′ −y0 + y2
Tại x1 , ta có y (x1 ) ≈ = 10.598.
2h
y 3 − 4y4 + 3y5
Tại x5 , ta có y ′ (x5 ) ≈ = 18.2495.
2h
Tại các mốc x2 , x3 , x4 sử dụng công thức trung tâm tương tự mốc x1 (sinh viên hoàn thành).

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 5 Tính gần đúng đạo hàm và tích phân 8/16 01/2023 8 / 16
5.2 Công thức hình thang

Công thức hình thang


Chia [a, b] thành n đoạn lấy tích phân bằng nhau

[a, b] = ∪n−1
i=0 [xi , xi+1 ], xi = a + ih, i = 0, n − 1.

Trên mỗi đoạn [xi , xi+1 ] xấp xỉ hàm f (x) ≈ P1,i (x) qua hai mốc nội suy xi , xi+1 .
xi+1 xi+1
Z Z
h
f (x)dx ≈ P1,i (x)dx = (yi + yi+1 ) = Iih (5)
2
xi xi

Do đó, ta có công thức hình thang áp dụng trên toàn đoạn lấy tích phân [a, b]:

Zb n−1 n−1
!
X h h X
I= f (x)dx ≈ Ih = (yi + yi+1 ) = y0 + yn + 2 yi (6)
i=0
2 2 i=1
a

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 5 Tính gần đúng đạo hàm và tích phân 10/16 01/2023 10 / 16
5.2 Công thức hình thang

Công thức sai số

Sai số trên đoạn nhỏ


M2 3
|Ii − Iih | ≤ h (7)
12
Sai số trên toàn đoạn lấy tích phân

M2 M2 (b − a)3
|I − Ih | ≤ (b − a)h2 = (8)
12 12n2

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 5 Tính gần đúng đạo hàm và tích phân 11/16 01/2023 11 / 16
5.2 Công thức hình thang

Z1
2
Ví dụ 2. Tính gần đúng I = ex dx bằng phương pháp hình thang với số đoạn chia là 10 và đánh giá sai số.
0
Lời giải.
b−a
Với số đoạn chia là 10, ta có bước lưới h = = 0.1.
n
Áp dụng công thức hình thang (6), ta có:
9
!
h X 0.1
Ih = y0 + y10 + 2 yi = (1 + 2.718281828 + 2 × 12.81260601) = 1.467174693
2 i=1
2

Sử dụng công thức sai số cho phương pháp hình thang (8) để đánh giá sai số cho Ih , ta có:

M2
(b − a)h2 = 0.013591409,
|I − Ih | ≤
12
trong đó, M2 = max[0,1] |f ′′ (x)| = 16.30969097, a = 0, b = 1, h = 0.1.

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 5 Tính gần đúng đạo hàm và tích phân 12/16 01/2023 12 / 16
5.3 Công thức Simpson

Công thức Simpson


Chia [a, b] thành n đoạn lấy tích phân bằng nhau

[a, b] = ∪n−1
i=0 [x2i , x2i+2 ], i = 0, n − 1, xk = a + kh, k = 0, 2n.

Trên mỗi đoạn [x2i , x2i+2 ] xấp xỉ hàm f (x) ≈ P2,i (x) qua hai mốc nội suy x2i , x2i+1 , x2i+2 .
x2i+2 x2i+2
Z Z
h
f (x)dx ≈ P2,i (x)dx = (yi + 4y2i+1 + y2i+2 ) = Iih (9)
3
x2i x2i

Do đó, ta có công thức hình thang áp dụng trên toàn đoạn lấy tích phân [a, b]:

Zb n−1 n−1 n−1


!
X h h X X
I= f (x)dx ≈ Ih = (yi + 4y2i+1 + y2i+2 ) = y0 + y2n + 4 y2i+1 + 2 y2i (10)
i=0
3 3 i=0 i=1
a

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 5 Tính gần đúng đạo hàm và tích phân 14/16 01/2023 14 / 16
5.2 Công thức Simpson

Công thức sai số

Sai số trên đoạn nhỏ


M4 5
|Ii − Iih | ≤ h (11)
90
Sai số trên toàn đoạn lấy tích phân

M4 M4 (b − a)5
|I − Ih | ≤ (b − a)h4 = , m = 2n. (12)
180 180m4

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 5 Tính gần đúng đạo hàm và tích phân 15/16 01/2023 15 / 16
5.2 Công thức Simpson
Z1
2
Ví dụ 3. Tính gần đúng I = ex dx bằng phương pháp Simpson với số đoạn chia là 10 và đánh giá sai số.
0
Lời giải.
b−a
Với số đoạn chia là 10, ta có bước lưới h = = 0.1.
n
Áp dụng công thức Simpson (10), ta có:
4 4
!
h X X
Ih = y0 + y10 + 4 y2i+1 + 2 y2i
3 i=0 i=1
0.1
= (1 + 2.718281828 + 4 × 7.268474074 + 2 × 6.258423907) = 1.510300865.
3
Sử dụng công thức sai số cho phương pháp Simpson (12) để đánh giá sai số cho Ih , ta có:

M4
|I − Ih | ≤ (b − a)h4 = 0.000114772
180
trong đó, M4 = max[0,1] f (4) (x) = 206.589419, a = 0, b = 1, h = 0.1.

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 5 Tính gần đúng đạo hàm và tích phân 16/16 01/2023 16 / 16
Chương 6
Giải số phương trình vi phân

BỘ MÔN TOÁN ỨNG DỤNG(1)

VIỆN TOÁN ỨNG DỤNG VÀ TIN HỌC


TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

01/2023

(1)
Email: yen.hathingoc@hust.edu.vn
Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 6 Giải số phương trình vi phân 1/27 01/2023 1 / 27
Nội dung

Nội dung Chương 6


6.1 Bài toán Cauchy
6.2 Các công thức Euler
6.3 Các công thức Runge-Kutta

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 6 Giải số phương trình vi phân 3/27 01/2023 3 / 27
Mục tiêu

Mục tiêu chương 6


1 Đưa phương trình vi phân, hệ phương trình vi phân các cấp về dạng phương trình tổng quát cấp 1.
2 Áp dụng các công thức tìm nghiệm của phương trình trên một đoạn đóng.
3 Viết được thuật toán và sơ đồ khối cho các phương pháp.

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 6 Giải số phương trình vi phân 4/27 01/2023 4 / 27
6.1 Bài toán tổng quát cấp 1

Bài toán Cauchy


Cho I = [x0 , X] là một đoạn con đóng trong R. Tìm hàm vector y ∈ C 1 [I, Rk ] sao cho
dy

 dx = f (x, y), x ∈ I


(1)


y(x0 ) = y0

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 6 Giải số phương trình vi phân 6/27 01/2023 6 / 27
6.1 Bài toán tổng quát cấp 1

Ví dụ bài toán 1 chiều cấp 1


Cho I = [1, 5] là một đoạn con đóng trong R. Tìm hàm vector y ∈ C 1 [I, R] sao cho
dy xy

 dx = x2 + y 2 , x ∈ I,


(2)


y(1) = 1.

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 6 Giải số phương trình vi phân 7/27 01/2023 7 / 27
6.1 Bài toán tổng quát cấp 1

Ví dụ bài toán 2 chiều cấp 1


Cho I = [1, 5] là một đoạn con đóng trong R. Tìm hàm vector y ∈ C 1 [I, R2 ] sao cho
 dy xyz
 = , x ∈ I,
dx 1 + x2 + y 2








dz x+y+z (3)
= , x ∈ I,


 dx 1 + x2 + y 2





y(1) = 1, z(1) = −1.

Đưa bài toán về dạng tổng quát cấp 1 trong không gian hai chiều với u = (y, z)T .

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 6 Giải số phương trình vi phân 8/27 01/2023 8 / 27
6.1 Bài toán tổng quát cấp 1

Ví dụ bài toán 1 chiều cấp 2


Cho I = [1, 5] là một đoạn con đóng trong R. Tìm hàm vector y ∈ C 2 [I, R] sao cho

xy sin y ′
 2
d y
 dx2 = 1 + x2 + y 2 , x ∈ I,


(4)


y(1) = 1, y ′ (1) = −0.5.

Đặt z = y ′ , u = (y, z)T . Bài toán đưa được về dạng tổng quát với k = 2.
 " #  

 du y ′ z
 xy sin z  x ∈ I,
 dx = z ′ =



,
1 + x2 + y 2 (5)




u(1) = (1, −0.5)T .

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 6 Giải số phương trình vi phân 9/27 01/2023 9 / 27
6.1 Bài toán tổng quát cấp 1

Nghiệm số của bài toán


Nghiệm số của bài toán là hàm lưới yh (x) xác định trên

Ωh = {x0 , x1 , x2 , ...., xn = X} ⊂ I

thỏa mãn giá trị của nghiệm đúng của bài toán:

y(xi ) ≈ yh (xi )

Ký hiệu: yi = yh (xi )

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 6 Giải số phương trình vi phân 10/27 01/2023 10 / 27
6.2 Các công thức Euler

Ý tưởng
xn+1
Z
y(xn+1 ) = y(xn ) + f (t, y(t))dt = yn + Sn (6)
xn

Dùng các công thức tính gần đúng tích phân xác định Sn xây dựng các công thức giải gần đúng phương trình vi
phân.

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 6 Giải số phương trình vi phân 12/27 01/2023 12 / 27
6.2 Các công thức Euler

Công thức Euler hiện

yn+1 = yn + Sn = yn + hf (xn , yn ) (7)

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 6 Giải số phương trình vi phân 13/27 01/2023 13 / 27
6.2 Các công thức Euler

Ví dụ 1. Dùng công thức Euler hiện (7) giải gần đúng bài toán (2) với bước lưới h = 0.1 trên đoạn [1, 2]

 dy = xy
, x ∈ I,
dx x2 + y 2
y(1) = 1.

Lời giải.
B1. Xác định các yếu tố đầu vào:
xy
f (x, y) = 2 ,
x + y2
x0 = 1, h = 0.1, xk = x0 + kh, y0 = 1.
B2. Viết công thức Euler hiện cho bài toán (2):
hxk yk
yk+1 = yk + hf (xk , yk ) = yk +
x2k + yk2

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 6 Giải số phương trình vi phân 14/27 01/2023 14 / 27
6.2 Các công thức Euler

B3. Lập bảng tính toán


k xk yk
0 1 1
1 1.1 1.05
2 1.2 1.099945946
3 1.3 1.149757054
4 1.4 1.19938233
5 1.5 1.248790198
6 1.6 1.297961916
7 1.7 1.346887319
8 1.8 1.395562002
9 1.9 1.443985451
10 2 1.492159764

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 6 Giải số phương trình vi phân 15/27 01/2023 15 / 27
6.2 Các công thức Euler

Công thức Euler ẩn

yn+1 = yn + Sn = yn + hf (xn+1 , yn+1 ) (8)

Công thức Euler ẩn (8) là công thức ẩn cần giải phương trình để tìm yn+1

Công thức Euler ẩn



tn,0 = yn + hf (xn , yn )

tn,k+1 = yn + hf (xn+1 , tn,k ) (9)

yn+1 = yn + hf (xn+1 , tn,k+1 )

Quy ước, nếu không nói rõ yêu cầu sai số, khi giải phương trình (8), chỉ cần lặp 1 lần, tức là dùng công thức (9)
bỏ qua công thức ở giữa.

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 6 Giải số phương trình vi phân 16/27 01/2023 16 / 27
6.2 Các công thức Euler

Ví dụ 2. Sử dụng công thức Euler ẩn tìm nghiệm số của bài toán (3) trên đoạn [1, 2] với bước lưới h = 0.1.
 dy xyz
 = , x ∈ I,
dx 1 + x2 + y 2








dz x+y+z
= , x ∈ I,


 dx 1 + x2 + y 2





y(1) = 1, z(1) = −1.

Lời giải.
B1. Xác định các yếu tố đầu vào:
xyz x+y+z
f (x, y, z) = , g(x, y, z) = ,
1 + x2 + y 2 1 + x2 + y 2
x0 = 1, h = 0.1, xk = x0 + kh, y0 = 1, z0 = −1.

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 6 Giải số phương trình vi phân 17/27 01/2023 17 / 27
6.2 Các công thức Euler

Lời giải ví dụ 2.
B2. Công thức Euler ẩn (9) cho bài toán:
hxk yk zk
uk = yk + hf (xk , yk , zk ) = yk +
1 + x2k + yk2
h(xk + yk + zk )
vk = zk + hg(xk , yk , zk ) = zk +
1 + x2k + yk2
hxk+1 uk vk
yk+1 = yk + hf (xk+1 , uk , vk ) = yk +
1 + x2k+1 + u2k
h(xk+1 + uk + vk )
zk+1 = zk + hg(xk+1 , uk , vk ) = zk +
1 + x2k+1 + u2k

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 6 Giải số phương trình vi phân 18/27 01/2023 18 / 27
6.2 Các công thức Euler

Lời giải ví dụ 2.
B3. Lập bảng tính toán
k xk yk zk uk vk
0 1 1 −1 0.966666667 −0.966666667
1 1.1 0.967310954 −0.965017668 0.934668856 −0.92997629
2 1.2 0.935832743 −0.928661728 0.904380549 −0.892254911
3 1.3 0.905928295 −0.891256896 0.876030056 −0.853809404
4 1.4 0.877835261 −0.853101353 0.849731554 −0.814910823
5 1.5 0.851685419 −0.814460773 0.825511829 −0.775792036
6 1.6 0.827526794 −0.77556577 0.803335261 −0.736648488
7 1.7 0.80534506 −0.736612046 0.783124773 −0.697640986
8 1.8 0.785082249 −0.697762401 0.764778096 −0.658899505
9 1.9 0.766651956 −0.659149835 0.74817969 −0.620527352
10 2 0.749951059 −0.620881143

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 6 Giải số phương trình vi phân 19/27 01/2023 19 / 27
6.2 Các công thức Euler

Công thức hình thang


h h
yn+1 = yn + Sn = yn + f (xn , yn ) + f (xn+1 , yn+1 ) (10)
2 2

Công thức Euler ẩn (10) là công thức ẩn cần giải phương trình để tìm yn+1

Công thức hình thang




tn,0 = yn + hf (xn , yn )
h h


tn,k+1 = yn + f (xn , yn ) + f (xn+1 , tn,k ) (11)
2 2
yn+1 = yn + h f (xn , yn ) + h f (xn+1 , tn,k+1 )



2 2

Quy ước, nếu không nói rõ yêu cầu sai số, khi giải phương trình (8), chỉ cần lặp 1 lần, tức là dùng công thức (11)
bỏ qua công thức giữa.

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 6 Giải số phương trình vi phân 20/27 01/2023 20 / 27
6.2 Các công thức Euler

Ví dụ 3. Dùng công thức Euler cải biên (công thức hình thang) tìm nghiệm số của bài toán (4) trên đoạn [1, 2]
với bưới lưới h = 0.1.
 2 ′
 d y = xy sin y , x ∈ I,
dx2 1 + x2 + y 2
y(1) = 1, y ′ (1) = −0.5.

Lời giải.
Xác định các yếu tố đầu vào:
xy sin z
z = y ′ , f (x, y, z) = z, g(x, y, z) = .
1 + x2 + y 2
x0 = 1, h = 0.1, xk = x0 + kh = 1 + 0.1k, y0 = 1, z0 = −0.5.

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 6 Giải số phương trình vi phân 21/27 01/2023 21 / 27
6.2 Các công thức Euler

Lời giải ví dụ 3.
Công thức Euler cải biên (11) cho bài toán:

un = yn + hf (xn , yn , zn ) = 0.1zn ,

0.1xn yn sin zn
vn = zn + hg(xn , yn , zn ) = ,
1 + x2n + yn2

h h 0.1zn 0.1vn
yn+1 = yn + f (xn , yn , zn ) + f (xn+1 , un , vn ) = yn + + ,
2 2 2 2
h h 0.1xn yn sin zn 0.1xn un sin vn
zn+1 = zn + g(xn , yn , zn ) + g(xn+1 , un , vn ) = zn + + .
2 2 2 (1 + x2n + yn2 ) 2 (1 + x2n + u2n )

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 6 Giải số phương trình vi phân 22/27 01/2023 22 / 27
6.2 Các công thức Euler

Lời giải ví dụ 3.
Lập bảng tính toán

k xk yk zk uk vk
0 1 1 −0.5 0.95 −0.515980851
1 1.1 0.949200957 −0.516273007 0.897573657 −0.53284084
2 1.2 0.896745265 −0.532985803 0.843446685 −0.549839863
3 1.3 0.842603982 −0.549835341 0.787620448 −0.566670435
4 1.4 0.786778693 −0.566519423 0.730126751 −0.583037017
5 1.5 0.729300871 −0.582747506 0.67102612 −0.598666134
6 1.6 0.670230189 −0.598250456 0.610405143 −0.613314659
7 1.7 0.609651933 −0.61278855 0.548373078 −0.626775798
8 1.8 0.547673716 −0.626157312 0.485057985 −0.638882597
9 1.9 0.48442172 −0.638190988 0.420602621 −0.649509069
10 2 0.420036717 −0.648763747

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 6 Giải số phương trình vi phân 23/27 01/2023 23 / 27
6.3 Các công thức Runge-Kutta

Công thức RK3 cho bài toán 1 chiều




 k1,n = hf (xn , yn )




  
h k1,n


k = hf x + , y +


 2,n n n

 2 2
(12)





 k3,n = hf (xn + h, yn − k1,n + 2k2,n )




yn+1 = yn + 1 (k1,n + 4k2,n + k3,n )



6

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 6 Giải số phương trình vi phân 25/27 01/2023 25 / 27
6.3 Các công thức Runge-Kutta

Công thức RK3 cho bài toán 2 chiều




 k1,n = hf (xn , yn , zn )




 l 1,n = hg(xn , yn , zn )




  
h k1,n l1,n


k = hf x + , y + , z +

2,n n n n

2 2 2



 
h k l


l2,n = hg xn + , yn + 1,n 1,n
, zn +

2 2 2


(13)


k3,n = hf (xn + h, yn − k1,n + 2k2,n , zn − l1,n + 2l2,n )





3,n = hg (xn + h, yn − k1,n + 2k2,n , zn − l1,n + 2l2,n )



 l





1


yn+1 = yn + (k1,n + 4k2,n + k3,n )


6





z 1
n+1 = zn + (l1,n + 4l2,n + l3,n )
6

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 6 Giải số phương trình vi phân 26/27 01/2023 26 / 27
6.3 Các công thức Runge-Kutta

Công thức RK4




k1,n = hf (x
 n , yn ) 

k2,n = hf xn + h , yn + k1,n



2 2 



 
h k2,n (14)
k 3,n = hf xn + , y n +


 2 2
k4,n = hf (xn + h, yn + k3,n )




yn+1 = yn + 1 (k1,n + 2k2,n + 2k3,n + k4,n )



6

Bài tập 1. Viết công thức RK4 cho bài toán 2 chiều.
Bài tập 2. Áp dụng công thức RK3, RK4 giải các bài toán (2), (3), (4).

Viện Toán ứng dụng và Tin học (HUST) MI2010 - CHƯƠNG 6 Giải số phương trình vi phân 27/27 01/2023 27 / 27

You might also like