Professional Documents
Culture Documents
2023
4.1. Bài toán nội suy tổng quát và nội suy bằng đa thức
4.2. Đa thức nội suy Lagrange. Sai số nội suy.
4.3. Đa thức nội suy Newton
4.4. Nội suy bằng đa thức trên từng đoạn: nội suy
4.5. Xấp xỉ hàm số bằng phương pháp bình phương tối thiểu
4.5.1. Phát biểu bài toán
4.5.2. Xấp xỉ bằng đa thức
4.5.3. Xấp xỉ bằng một số hàm số khác. Xấp xỉ bình phương tối thiểu trong không gian các
hàm bình phương khả tích*
Hàm số y = f (x) liên tục trên [a, b]. Cần tính f (c) với c bất kỳ thuộc [a, b]. Tuy nhiên:
Không biết biểu thức tường minh của f (x) hoặc đã biết biểu thức tường minh của f (x)
nhưng khó khăn để tính f (c) (VD: tính sin(π/7),...)
Trong khi có thể xác định được các giá trị của y tại các giá trị rời rạc của x.
x x0 x1 x2 . . . xn
y y0 y1 y2 . . . yn
Hàm số y = f (x) liên tục trên [a, b]. Cần tính f (c) với c bất kỳ thuộc [a, b]. Tuy nhiên:
Không biết biểu thức tường minh của f (x) hoặc đã biết biểu thức tường minh của f (x)
nhưng khó khăn để tính f (c) (VD: tính sin(π/7),...)
Trong khi có thể xác định được các giá trị của y tại các giá trị rời rạc của x.
x x0 x1 x2 . . . xn
y y0 y1 y2 . . . yn
Nội suy là quá trình ước tính các điểm dữ liệu chưa biết nằm giữa các điểm dữ liệu mốc đã biết.
4.1. Bài toán nội suy tổng quát và nội suy bằng đa thức
Hàm số y = f (x) liên tục trên [a, b]. Cần tính f (c) với c bất kỳ thuộc [a, b]. Tuy nhiên:
Không biết biểu thức tường minh của f (x) hoặc đã biết biểu thức tường minh của f (x)
nhưng khó khăn để tính f (c) (VD: tính sin(π/7),...)
Trong khi có thể xác định được các giá trị của y tại các giá trị rời rạc của x.
x x0 x1 x2 . . . xn
y y0 y1 y2 . . . yn
Nội suy là quá trình ước tính các điểm dữ liệu chưa biết nằm giữa các điểm dữ liệu mốc đã biết.
Các điểm (xi , yi ), i = 0, 1, ..., n được gọi là các mốc nội suy hay nút nội suy.
Đa thức Pm (x) tìm được gọi là Đa thức nội suy của hàm f (x).
Số lượng đa thức tìm được (đi qua (n + 1) điểm (x0 , y0 ), (x1 , y1 ), . . . , (xn , yn ) ) chính là số
nghiệm a = (a0 , a1 , ..., am ) tìm được thỏa mãn hệ trên. Hệ trên có nghiệm duy nhất khi
m ≤ n.
Số lượng đa thức tìm được (đi qua (n + 1) điểm (x0 , y0 ), (x1 , y1 ), . . . , (xn , yn ) ) chính là số
nghiệm a = (a0 , a1 , ..., am ) tìm được thỏa mãn hệ trên. Hệ trên có nghiệm duy nhất khi
m ≤ n.
Định lý
Tồn tại duy nhất một đa thức bậc nhỏ hơn hoặc bằng n đi qua n + 1 điểm phân biệt cho trước.
Hoặc: ∃!Pm (x) : {m ≤ n; Pm (xi ) = yi ; i = 0, 1, . . . , n}
n
(x − x0 )(x − x1 ) . . . (x − xi−1 )(x − xi+1 ) . . . (x − xn ) Y x − xj
Lin (x) = =
(xi − x0 )(xi − x1 ) . . . (xi − xi−1 )(xi − xi+1 ) . . . (xi − xn ) xi − xj
j=0,j6=i
n
(x − x0 )(x − x1 ) . . . (x − xi−1 )(x − xi+1 ) . . . (x − xn ) Y x − xj
Lin (x) = =
(xi − x0 )(xi − x1 ) . . . (xi − xi−1 )(xi − xi+1 ) . . . (xi − xn ) xi − xj
j=0,j6=i
n
(x − x0 )(x − x1 ) . . . (x − xi−1 )(x − xi+1 ) . . . (x − xn ) Y x − xj
Lin (x) = =
(xi − x0 )(xi − x1 ) . . . (xi − xi−1 )(xi − xi+1 ) . . . (xi − xn ) xi − xj
j=0,j6=i
Ví dụ 1: Xây dựng đa thức nội suy Lagrange cho hàm số y = sin(πx) rồi tính gần đúng
y = sin(π/5) với các mốc nội suy cho trong bảng:
i 0 1 2
xi 0 1/6 1/2
yi = sin(πxi ) 0 1/2 1
i 0 1 2 3
xi 0 0, 1 0, 3 0, 5
yi −0, 5 0 0, 2 1
Giải:
i 0 1 2 3
xi 0 0, 1 0, 3 0, 5
yi −0, 5 0 0, 2 1
Giải:
Bước 1: Xác định các đa thức Lagrange cơ bản:
i 0 1 2 3
xi 0 0, 1 0, 3 0, 5
yi −0, 5 0 0, 2 1
Giải:
Bước 1: Xác định các đa thức Lagrange cơ bản:
3
X i 0 1 2 3 125 3 2 91
P3 (x) = yi L3 (x) = −0, 5.L3 (x) + 0.L3 (x) + 0, 2.L3 (x) + 1.L3 (x) = x − 30x + x − 0, 5
i=0 3 12
i 0 1 2 3
xi 0 0, 1 0, 3 0, 5
yi −0, 5 0 0, 2 1
Giải:
Bước 1: Xác định các đa thức Lagrange cơ bản:
3
X i 0 1 2 3 125 3 2 91
P3 (x) = yi L3 (x) = −0, 5.L3 (x) + 0.L3 (x) + 0, 2.L3 (x) + 1.L3 (x) = x − 30x + x − 0, 5
i=0 3 12
Nhận xét: Nếu f (n+1) (x) ≤ M ∀x ∈ [x0 , xn ] thì sai số của đa thức nội suy là:
n
M Y
|f (x) − P (x)| ≤ (x − xi )
(n + 1)!
i=0
π 3 1 1 1 1 1
|f (1/5) − P (1/5)| ≤ ( − )( − ) = 0, 010335
6 5 5 6 5 2
Ví
√
dụ 2: Tìm đa thức nội suy Lagrange của hàm số y = sin x, x ∈ [0, π/2] biết sin 0 = 0, sin(π/4) =
2
2 , sin(π/2) = 1. Đánh giá sai số của sin(π/6).
Ví
√
dụ 2: Tìm đa thức nội suy Lagrange của hàm số y = sin x, x ∈ [0, π/2] biết sin 0 = 0, sin(π/4) =
2
2 , sin(π/2) = 1. Đánh giá sai số của sin(π/6).
Kết quả:
" √ #
8 √ 2 2 1
P2 (x) = 2 (1 − 2)x + ( − )
π 2 4
Nếu đặt
ω(x) = (x − x0 )(x − x1 )...(x − xi−1 )(x − xi )(x − xi+1 )...(x − xn );
ω̄(xi ) = (xi − x0 )(xi − x1 )...(xi − xi−1 )(xi − xi+1 )...(xi − xn )
Ta có:
ω(x)
Lin (x) =
ω̄(xi )(x − xi )
Đa thức nội suy Lagrange trở thành
n n
X yi X yi
Pn (x) = ω(x). = ω(x). ,
ω̄(xi )(x − xi ) Di
i=0 i=0
x 0 1 3 4
y 1 1 2 -1
Sử dụng đa thức Lagrange tính gần đúng giá trị của hàm số tại x=2.
Giải:
x 0 1 3 4
y 1 1 2 -1
Sử dụng đa thức Lagrange tính gần đúng giá trị của hàm số tại x=2.
Giải:
x=2 0 1 3 4
0 2-0 0-1 0-3 0-4 D0 = (2 − 0)(0 − 1)(0 − 3)(0 − 4) = −24
1 1-0 2-1 1-3 1-4 D1 = (1 − 0)(2 − 1)(1 − 3)(1 − 4) = 6
3 3-0 3-1 2-3 3-4 D2 = (3 − 0)(3 − 1)(2 − 3)(3 − 4) = 6
4 4-0 4-1 4-3 2-4 D3 = (4 − 0)(4 − 1)(4 − 3)(2 − 4) = −24
ω(x) = (2 − 0)(2 − 1)(2 − 3)(2 − 4) = 4
x 0 1 3 4
y 1 1 2 -1
Sử dụng đa thức Lagrange tính gần đúng giá trị của hàm số tại x=2.
Giải:
x=2 0 1 3 4
0 2-0 0-1 D0 = (2 − 0)(0 − 1)(0 − 3)(0 − 4) = −24
0-3 0-4
1 1-0 2-1 D1 = (1 − 0)(2 − 1)(1 − 3)(1 − 4) = 6
1-3 1-4
3 3-0 3-1 D2 = (3 − 0)(3 − 1)(2 − 3)(3 − 4) = 6
2-3 3-4
4 4-0 4-1 D3 = (4 − 0)(4 − 1)(4 − 3)(2 − 4) = −24
4-3 2-4
ω(x) = (2 − 0)(2 − 1)(2 − 3)(2 − 4) = 4
y0 y1 y2 y3 1 1 2 −1
Do đó y(2) ≈ P3 (2) = ω(x) D0 + D 1
+ D2 + D3 = 4 −24 + 6 + 6 + −24 = 2
x -9 -7 -4
y -1 -4 -9
Sử dụng đa thức Lagrange tính gần đúng giá trị của hàm số tại x = −6.
Giải:
x=-6 -9 -7 -4
-9 3 -2 -5 D0 = 30
pause -7 2 1 -3 D1 = −6
-4 5 3 -2 D2 = −30
ω(x) = −6
Do đó f (−6) ≈ P2 (−6) = −6(−1/30 + 4/6 + 9/30) = −5, 6
Cho hàm y = f (x) có các mốc nội suy cách đều nhau
xi+1 − xi = h = const; i = 0, 1, . . . , n − 1.
Sai phân
Quy ước có n + 1 sai phân bậc 0: ∆0 yi = yi ; i = 0, 1, . . . , n.
n sai phân bậc 1 có dạng: ∆1 y i = yi+1 − yi ; i = 0, 1, . . . , n − 1.
n − 1 sai phân bậc 2 có dạng: ∆2 y i = ∆(∆1 y i) = ∆yi+1 − ∆yi ; i = 0, 1, . . . , n − 2.
Tổng quát có n − k + 1 sai phân bậc k có dạng:
∆k yi = ∆(∆k−1 yi ) = ∆k−1 yi+1 − ∆k−1 yi ; i = 0, 1, . . . , n − k; k = 1, 2, . . . , n.
xi yi ∆yi ∆2 yi ∆3 yi ∆4 yi ...
x0 y0 ∆y0 ∆2 y0 ∆3 y0 ∆4 y0
x1 y1 ∆y1 ∆2 y1 ∆3 y1
x2 y2 ∆y2 ∆2 y2
x3 y3 ∆y3
x4 y4
xi yi ∆yi ∆2 yi ∆3 yi ∆4 yi ...
x0 y0 ∆y0 ∆2 y0 ∆3 y0 ∆4 y0
x1 y1 ∆y1 ∆2 y1 ∆3 y1
x2 y2 ∆y2 ∆2 y2
x3 y3 ∆y3
x4 y4
Ví dụ: Cho hàm số y = f (x) có các mốc nội suy như sau:
x -1 0 1 2 3
y 5 4 -2 6 8
xi yi ∆yi ∆2 yi ∆3 yi ∆4 yi ...
x0 y0 ∆y0 ∆2 y0 ∆3 y0 ∆4 y0
x1 y1 ∆y1 ∆2 y1 ∆3 y1
x2 y2 ∆y2 ∆2 y2
x3 y3 ∆y3
x4 y4
Ví dụ: Cho hàm số y = f (x) có các mốc nội suy như sau:
x -1 0 1 2 3
y 5 4 -2 6 8
Ta có bảng tính sai phân như sau:
i yi ∆yi ∆2 yi ∆3 yi ∆4 yi ...
0 5 −1 −5 19 −29
1 4 −6 14 20
2 −2 8 −6
3 6 2
4 8
CHƯƠNG 4. NỘI SUY VÀ XẤP XỈ HÀM SỐ
TS. Nguyễn Đức Bằng (Contact: ducbang@mail.ru, 0966505508) 2023 21 / 66
4.3. Đa thức nội suy Newton
∆y0 ∆ 2 y0 ∆ n y0
P (x) = y0 + (x − x0 ) + (x − x 0 )(x − x 1 ) + . . . + (x − x0 )(x − x1 ) . . . (x − xn−1 )
1!h 2!h2 n!hn
t t(t − 1) 2 t(t − 1) . . . (t − n + 1) n
P (x0 + th) = y0 + ∆y0 + ∆ y0 + . . . + ∆ y0
1! 2! n!
t t(t − 1) 2 t(t − 1) . . . (t − n + 1) n
P (x0 + th) = y0 + ∆y0 + ∆ y0 + . . . + ∆ y0
1! 2! n!
5 19 39
= 5 − t − t(t − 1) + t(t − 1)(t − 2) − t(t − 1)(t − 2)(t − 3)
2 6 24
Khi đó: P (1, 5) =? x = 1, 5 = x0 + th trong đó: x0 = −1; h = 1 ⇒ 1, 5 = −1 + 1.t ⇒ t = 2, 5
f (1, 5) ≈ P (−1+2, 5∗1) = P (1, 5) = −5−2, 5− 25 2, 5∗1, 5+ 19 39
6 2, 5∗1, 5∗0, 5− 24 2, 5∗1, 5∗0, 5∗(−0, 5) =
?
CHƯƠNG 4. NỘI SUY VÀ XẤP XỈ HÀM SỐ
TS. Nguyễn Đức Bằng (Contact: ducbang@mail.ru, 0966505508) 2023 23 / 66
4.3. Đa thức nội suy Newton
Ví dụ 2: Cho hàm y = f (x) có các mốc nội suy (1; 2), (2; 7), (3; 14). Tính gần đúng f (4/3) bằng đa
thức nội suy Newton tiến.
Ví dụ 2: Cho hàm y = f (x) có các mốc nội suy (1; 2), (2; 7), (3; 14). Tính gần đúng f (4/3) bằng đa
thức nội suy Newton tiến.
Giải: Ta thấy: xi+1 − xi = 1, ∀i = 0, 1, 2. Vậy các mốc nội suy là cách đều.
Đặt x = x0 + th = 1 + t; x = 4/3 ⇒ t = 1/3
Ví dụ 2: Cho hàm y = f (x) có các mốc nội suy (1; 2), (2; 7), (3; 14). Tính gần đúng f (4/3) bằng đa
thức nội suy Newton tiến.
Giải: Ta thấy: xi+1 − xi = 1, ∀i = 0, 1, 2. Vậy các mốc nội suy là cách đều.
Đặt x = x0 + th = 1 + t; x = 4/3 ⇒ t = 1/3
y ∆y ∆2 y
2 5 2
Bảng sai phân:
7 7
14
Ví dụ 2: Cho hàm y = f (x) có các mốc nội suy (1; 2), (2; 7), (3; 14). Tính gần đúng f (4/3) bằng đa
thức nội suy Newton tiến.
Giải: Ta thấy: xi+1 − xi = 1, ∀i = 0, 1, 2. Vậy các mốc nội suy là cách đều.
Đặt x = x0 + th = 1 + t; x = 4/3 ⇒ t = 1/3
y ∆y ∆2 y
2 5 2
Bảng sai phân:
7 7
14
Đa thức nội suy Newton tiến:
P (t) = y0 + t.∆y0 + t(t−1) 2
2! ∆ y0 = 2 + 5t +
t(t−1)
2 .2 = 2 + 4t + t
2
f (4/3) =
Ví dụ 2: Cho hàm y = f (x) có các mốc nội suy (1; 2), (2; 7), (3; 14). Tính gần đúng f (4/3) bằng đa
thức nội suy Newton tiến.
Giải: Ta thấy: xi+1 − xi = 1, ∀i = 0, 1, 2. Vậy các mốc nội suy là cách đều.
Đặt x = x0 + th = 1 + t; x = 4/3 ⇒ t = 1/3
y ∆y ∆2 y
2 5 2
Bảng sai phân:
7 7
14
Đa thức nội suy Newton tiến:
P (t) = y0 + t.∆y0 + t(t−1) 2
2! ∆ y0 = 2 + 5t +
t(t−1)
2 .2 = 2 + 4t + t
2
∆yn−1 ∆2 yn−2 ∆n y 0
Pn (x) = yn + (x−xn )+ (x−x n )(x−x n−1 )+. . .+ (x−xn )(x−xn−1 ) . . . (x−x1 )
h 2!h2 n!hn
∆yn−1 ∆2 yn−2 ∆n y 0
Pn (x) = yn + (x−xn )+ (x−x n )(x−x n−1 )+. . .+ (x−xn )(x−xn−1 ) . . . (x−x1 )
h 2!h2 n!hn
∆yn−1 ∆2 yn−2 ∆n y0
P (xn + th) = yn + t+ t(t + 1) + . . . + t(t + 1) . . . (t + (n − 1))
1! 2! n!
6 20 29
= 8 + 2t − t(t + 1) − t(t + 1)(t + 2) − t(t + 1)(t + 2)(t + 3)
2 6 24
được gọi là tỉ sai phân cấp 1 của hàm trên đoạn [xk , xk+1 ]
Tương tự ta có tỉ sai phân cấp 2 của hàm trên đoạn [xk , xk+2 ] là
Tương tự ta có tỉ sai phân cấp 2 của hàm trên đoạn [xk , xk+2 ] là
Quy nạp ta có tỉ sai phân cấp p của hàm trên đoạn [xk , xk+p ] là
f [x, x0 ] − f [x0 , x1 ]
f [x, x0 , x1 ] = → f [x, x0 ] = f [x0 , x1 ] + (x − x1 )f [x, x0 , x1 ]
x − x1
Thay vào công thức trên ta được
f (x) = y0 + f [x0 , x1 ](x − x0 ) + f [x, x0 , x1 ](x − x0 )(x − x1 )
Tiếp diễn đến bước thứ n ta được:
f (x) = y0 +f [x0 , x1 ](x−x0 )+f [x0 , x1 , x2 ](x−x0 )(x−x1 )+. . .+f [x0 , x1 , ..., xn ](x−x0 )(x−x1 )...(x−xn−1 )
Đặt
Nn(1) (x) = y0 + f [x0 , x1 ](x − x0 ) + f [x0 , x1 , x2 ](x − x0 )(x − x1 ) + . . . +
+f [x0 , x1 , ..., xn ](x − x0 )(x − x1 )...(x − xn−1 )
Mn+1
|Rn (x)| ≤ |ω(x)|; Mn+1 = max |f (n+1)(x) |
(n + 1)!
CHƯƠNG 4. NỘI SUY VÀ XẤP XỈ HÀM SỐ
TS. Nguyễn Đức Bằng (Contact: ducbang@mail.ru, 0966505508) 2023 32 / 66
4.3. Đa thức nội suy Newton
Ví dụ
x 0 2 3 5 6
Cho bảng giá trị của hàm số y=f(x):
y 1 3 2 5 6
Xây dựng đa thức nội suy Newton tiến xuất phát từ nút x0 của hàm số y=f(x)
Dùng đa thức nội suy nhận được, tính gần đúng f(1,25)
(1) −2 3 11
N4 = 1 + 1.x + x(x − 2) + x(x − 2)(x − 3) − x(x − 2)(x − 3)(x − 5) =
3 10 120
11 4 73 3 601 2 413
=− x + x − x + x+1
120 60 120 60
(1)
f (1, 25) ≈ N4 (1, 25) ≈ 3, 9312
(1) −2 3 11
N4 = 1 + 1.x + x(x − 2) + x(x − 2)(x − 3) − x(x − 2)(x − 3)(x − 5) =
3 10 120
11 4 73 3 601 2 413
=− x + x − x + x+1
120 60 120 60
(1)
f (1, 25) ≈ N4 (1, 25) ≈ 3, 9312
Nhận xét:
Đa thức nội suy Lagrange đơn giản, nhưng khi bổ sung thêm các mốc nội suy, ta phải
tính lại từ đầu. Còn đa thức nội suy Newton khắc phục được điều này.
Khi cần tính f (x), với x ≈ x0 (x ≈ xn ) ta dùng công thức Newton tiến (lùi) tương ứng
thì độ chính xác sẽ cao hơn.
Một trong những cách khắc phục là trên từng đoạn liên tiếp của các cặp điểm nút nội suy ta nối chúng
bằng những đường cong đơn giản (đơn giản nhất là đường thẳng). Tuy nhiên khi đó tại các điểm nút
hàm sẽ mất tính khả vi. Do đó, người ta cố gắng xây dựng một đường cong bằng cách nối các đường
cong nhỏ lại với nhau sao cho vẫn bảo toàn tính khả vi của hàm số của hàm. Đường cong như vậy gọi
đường Spline (đường ghép trơn). Người ta thường dùng các đa thức bậc thấp (thường ≤ 3) trên mỗi
đoạn con của đoạn [xk , xk+1 ], k = 0, 1, ..., n − 1 và ghép trơn đến mức cần thiết trên toàn đoạn thành
hàm nội suy, các hàm này gọi là hàm Spline.
CHƯƠNG 4. NỘI SUY VÀ XẤP XỈ HÀM SỐ
TS. Nguyễn Đức Bằng (Contact: ducbang@mail.ru, 0966505508) 2023 35 / 66
4.4. Nội suy bằng đa thức trên từng đoạn: Nội suy Spline
Cho hàm y=f(x) với n+1 điểm mốc: (x0 , y0 ), (x1 , y1 ), ..., (xn , yn ) với hk = xk+1 − xk
g0 (x) nếu x0 ≤ x < x1
g1 (x) nếu x1 ≤ x < x2
Hàm nội suy Spline g(x) tổng quát: g(x) = . . .
gn−2 (x) nếu xn−2 ≤ x < xn−1
gn−1 (x) nếu xn−1 ≤ x < xn
Một Spline bậc 3 nội suy hàm f (x) là hàm g(x) thỏa mãn các điều kiện:
g(x) có đạo hàm cấp 2 liên tục trên [a, b]
g(x) = gk (x) là 1 đa thức bậc 3 trên [xk , xk+1 ], k = 0, 1, .., n − 1
g(xk ) = yk , k = 0, 1, ..., n
Một trong 2 điều kiện sau được thỏa:
1 g 00 (a) = g 00 (b) = 0 (Điều kiện biên tự nhiên)
2 g 0 (a) = α; g 0 (b) = β (Điều kiện biên ràng buộc)
CHƯƠNG 4. NỘI SUY VÀ XẤP XỈ HÀM SỐ
TS. Nguyễn Đức Bằng (Contact: ducbang@mail.ru, 0966505508) 2023 36 / 66
4.4. Nội suy bằng đa thức trên từng đoạn: Nội suy Spline
Với mỗi gk (x) là đa thức bậc 3 có dạng:
gk (x) = ak + bk (x − xk ) + ck (x − xk )2 + dk (x − xk )3
Thỏa các tính chất:
gk (xk ) = yk k = 0, 1, ..., n − 1
g (x
k k+1 ) = gk+1 (xk+1 ) k = 0, 2, ..., n − 2
0 0
gk (xk+1 ) = gk+1 (xk+1 ) k = 0, 2, ..., n − 2
00
00
gk (xk+1 ) = gk+1 (xk+1 ) k = 0, 2, ..., n − 2
gk (x) = ak + bk (x − xk ) + ck (x − xk )2 + dk (x − xk )3
−ck
dk = ck+1
3hk
Phương trình (1) là hệ phương trình tuyến tính gồm n − 1 phương trình dùng để xác định các
hệ số ck . Phương trình này có số ẩn (n + 1)lớn hơn số phương trình (n − 1), nên có vô số
nghiệm. Cần bổ sung thêm 1 số điều kiện để hệ có nghiệm duy nhất.
Định nghĩa
00 00
Spline tự nhiên là spline với điều kiện g (a) = g (b) = 0
0 0
Spline ràng buộc là spline với điều kiện g (a) = α, g (b) = β
Spline tự nhiên
00 00
g (a) = g (b) = 0 ⇒ c0 = cn = 0
Bước 1: Tính hk = xk+1 − xk , k = 0, n − 1
ak = yk , k = 0, n
Spline tự nhiên
00 00
g (a) = g (b) = 0 ⇒ c0 = cn = 0
Bước 1: Tính hk = xk+1 − xk , k = 0, n − 1
ak = yk , k = 0, n
Bước 2: Giải hệ Ac = b̄ tìm c = (c0 , c1 , ..., cn )T
1 0 0 0 ... 0 0
h0 2(h0 + h1 ) h1 0 ... 0 3(y2 −y1 ) 3(y1 −y0 )
h1
− h0
0 h1 2(h1 + h2 ) h2 ... 0
A= b̄ =
. . .
. . . ... ... ... ... ...
3(yn −yn−1 ) 3(yn−1 −yn−2 )
. . . ... ... hn−2 2(hn−2 + hn−1 ) hn−1 h
− h
n−1 n−2
0 0 0 0 ... 1 0
Spline tự nhiên
00 00
g (a) = g (b) = 0 ⇒ c0 = cn = 0
Bước 1: Tính hk = xk+1 − xk , k = 0, n − 1
ak = yk , k = 0, n
Bước 2: Giải hệ Ac = b̄ tìm c = (c0 , c1 , ..., cn )T
1 0 0 0 ... 0 0
h0 2(h0 + h1 ) h1 0 ... 0 3(y2 −y1 ) 3(y1 −y0 )
h1
− h0
0 h1 2(h1 + h2 ) h2 ... 0
A= b̄ =
. . .
. . . ... ... ... ... ...
3(yn −yn−1 ) 3(yn−1 −yn−2 )
. . . ... ... hn−2 2(hn−2 + hn−1 ) hn−1 h
− h
n−1 n−2
0 0 0 0 ... 1 0
Bước 3: Tính các hệ số bk , dk :
bk = yk+1hk−yk − (ck+1 +2c
3
k )hk
, k = 0, 1, ..., n − 1
ck+1 −ck
dk = 3hk
x 0 2 5
y 1 1 4
Giải:
x 0 2 5
y 1 1 4
x 0 2 5
y 1 1 4
x 0 2 5
y 1 1 4
x 0 2 5
y 1 1 4
x 0 1 2 3
y 1 2 4 8
Giải:
x 0 1 2 3
y 1 2 4 8
x 0 1 2 3
y 1 2 4 8
x 0 1 2 3
y 1 2 4 8
Ví dụ 1
0 0
Xây dựng spline ràng buộc với điều kiện g (0) = g (2) = 0 nội suy hàm theo bảng số
x 0 1 2
y 1 2 1
Giải:
Ví dụ 1
0 0
Xây dựng spline ràng buộc với điều kiện g (0) = g (2) = 0 nội suy hàm theo bảng số
x 0 1 2
y 1 2 1
Ví dụ 1
0 0
Xây dựng spline ràng buộc với điều kiện g (0) = g (2) = 0 nội suy hàm theo bảng số
x 0 1 2
y 1 2 1
Ví dụ 1
0 0
Xây dựng spline ràng buộc với điều kiện g (0) = g (2) = 0 nội suy hàm theo bảng số
x 0 1 2
y 1 2 1
Trong thực tế, các giá trị yk được xác định thông qua thực nghiệm hay đo đạc nên thường
không chính xác tuyệt đối. Khi đó việc xây dựng một đa thức nội suy đi qua tất cả các điểm
Mk (xk , yk ) cũng không còn chính xác.
Mặt khác khi n rất lớn, việc xây dựng một đa thức đi qua tất cả các điểm này không có ý nghĩa
thực tế. Chúng ta sẽ đi tìm hàm f (x) đơn giản hơn sao cho nó thể hiện tốt nhất dáng điệu của
tập hợp điểm Mk (xk , yk ), k = 1, 2, ..., n và không nhất thiết đi qua tất cả các điểm đó. Phương
pháp bình phương bé nhất giúp ta giải quyết vấn đề này.
x x0 x1 x2 ... xn
,
y y0 y1 y2 ... yn
Với x0 < x1 < x2 < ... < xn . Cần xác định một hàm g(x) = φ(c0 , c1 , ..., cm , x), trong đó φ là
hàm cho trước, cj , j = 0, m là các tham số cần tìm sao cho tổng bình phương các sai số là
nhỏ nhất.
Xn n
X
S= (g(xi ) − yi )2 = (φ(c0 , c1 , ..., cm , xi ) − yi )2 → min
i=0 i=0
Nhận xét:
Đồ thị của g(x) thể hiện tốt nhất dáng điệu của tập hợp các điểm dữ liệu (xi , yi ), i = 0, n
Hàm g(x) được xác định sao cho đồ thị của nó đi "gần" tất cả các điểm trong bảng dữ liệu trên
(g(xi ) ≈ yi , không nhất thiết phải đi qua tất cả các điểm mốc).
Hàm g(x) thường được chọn là các hàm đơn giản, phụ thuộc các tham số như sau:
Dạng đa thức: g(x) = ax + b; g(x) = a + bx + cx2 , ...
Dạng hàm số mũ hoặc hàm lũy thừa: g(x) = a.ebx ; g(x) = a.xb ,...
Dạng hàm lượng giác: g(x) = a + b. sin(x) + c. cos(x),...
∂S
= 0, j = 0, m
∂cj
x 1 3 4 7 9 12
y 0 2 5 10 12 16
Hãy tính a, b bằng phương pháp bình phương bé nhất và tìm y(10).
Giải: Ta lập bảng
x y x2 xy
1 0 1 0
3 2 9 6
4 5 16 20
7 10 49 70
9 12 81 108
12 16 144 192
P
= 36 45 300 396
x y x2 xy x2 y x3 x4
1 0 1 0 0 1 1
3 2 9 6 18 27 81
4 5 16 20 80 64 256
7 10 49 70 490 343 2401
9 12 81 108 972 729 6561
12
P 16 144 192 2304 1728 20736
= 36 45 300 396 3864 2892 30036
Từ
bảng trên ta được hệ phương trình sau:
6a + 36b + 300c = 45
a = −2, 3
36a + 300b + 2892c = 396 ⇔ b = 13170
1
300a + 2892b + 30036c = 3864 c = − 35
131 1 2 131.10 102
Vậy hàm số g(x) có dạng g(x) = −2, 3 + 70 x − 35 x . Khi đó y(10) ≈ g(10) = −2, 3 + 70 − 35 =
13, 557143
CHƯƠNG 4. NỘI SUY VÀ XẤP XỈ HÀM SỐ
TS. Nguyễn Đức Bằng (Contact: ducbang@mail.ru, 0966505508) 2023 55 / 66
4.5.3 Xấp xỉ bằng một hàm số khác
Hãy tính a, b bằng phương pháp bình phương bé nhất và tìm y(10, 2).
x y x2 ]x.Y
Y = ln(y)
1,1 3,1 1,211,1314 1,2445
3,2 29,9 3,3978
10,24 10,8730
5,1 65,7 4,1851
26,01 21,3440
7,7 100,4 4,6092
59,29 35,4908
9,6 195,7 5,2766
92,16 50,6554
12,2 300,4 5,7051
148,84 69,6022
P
= 38, 9 24,3052
337,75 189,2099
( ( (
337, 75A + 38, 9B = 189, 2099 A = 0, 3697 b = 0, 3697
Khi đó ta có hệ: ⇔ ⇒
38, 9A + 6B = 24, 3052 B = 1, 6538 a = eB = 5, 2268
g(x) = 5, 2268.e0,3697x ⇒ y(10, 2) ≈ g(10, 2) = 5, 2268.e0,3697.10,2 = 226, 6569
Tổng quát
Tìm hàm g(x) = φ(c0 , c1 , ..., cm , x), trong đó hàm φ có dạng:
m
X
φ(c0 , c1 , ..., cm , x) = ci ϕi (x) = c0 ϕ0 (x) + c1 ϕ1 (x) + . . . + cn ϕn (x)
i=0
Với ϕ0 (x), ϕ1 (x), ..., ϕm (x) là hệ độc lập tuyến tính, tức là
m
P
φ(c0 , c1 , ..., cm , x) = ci ϕi (x) = 0 ⇔ c0 = c1 = ... = cn = 0.
i=0
Cần tìm các tham số cj , j = 0, m sao cho tổng bình phương các sai số là nhỏ nhất.
n
X n
X
S= (g(xi ) − yi )2 = (φ(c0 , c1 , ..., cm , xi ) − yi )2 → min
i=0 i=0
Nhận xét:
Nếu hàm xấp xỉ g(x) = ax + b thì chọn hệ hàm số ϕ0 (x) = 1; ϕ1 (x) = x
Nếu hàm xấp xỉ g(x) = a + bx + cx2 thì chọn hệ hàm số
ϕ0 (x) = 1; ϕ1 (x) = x; ϕ2 (x) = x2
Nếu hàm xấp xỉ g(x) = a + bx + cx2 + dx3 thì chọn hệ hàm số
ϕ0 (x) = 1; ϕ1 (x) = x; ϕ2 (x) = x2 ; ϕ3 (x) = x3
Nếu hàm xấp xỉ g(x) = a + b. sin(x) + c. cos(x) thì chọn hệ hàm số
ϕ0 (x) = 1; ϕ1 (x) = sin(x); ϕ2 (x) = cos(x)
Tìm đa thức xấp xỉ g(x) theo phương pháp bình phương tối thiểu.
Giải:
Lập bảng sau:
xi yi ϕ0 (xi ) = 1 ϕ1 (xi ) = xi ϕ2 (xi ) = x2i ϕ3 (xi ) = x3i
0 1 1 0 0 0
1 2 1 1 1 1
2 1 1 2 4 8
3 0 1 3 9 27
Có: Y = (1; 2; 1; 0); ϕ0 = (1; 1; 1; 1); ϕ1 = (0; 1; 2; 3); ϕ2 = (0; 1; 4; 9); ϕ3 = (0; 1; 8; 27)
( Tìm g(x) = ax + b = aϕ0 (x) + bϕ1 (x)(⇒ (a, b) là nghiệm của
a) ( hệ
hϕ0 , ϕ0 i a + hϕ0 , ϕ1 i b = hϕ0 , Y i 4a + 6b = 4 a = 85
⇒ ⇒ ⇒ g(x) = 85 − 25 x
hϕ1 , ϕ0 i a + hϕ1 , ϕ1 i b = hϕ1 , Y i 6a + 14b = 4 b = − 52
CHƯƠNG 4. NỘI SUY VÀ XẤP XỈ HÀM SỐ
TS. Nguyễn Đức Bằng (Contact: ducbang@mail.ru, 0966505508) 2023 61 / 66
4.5. Xấp xỉ hàm số bằng phương pháp bình phương tối thiểu
2
b)
Tìm g(x) = a + bx + cx = aϕ0 (x) + bϕ1 (x) + cϕ2 (x) ⇒ (a, b) là nghiệm của hệ
11
hϕ 0 , ϕ0 i a + hϕ0 , ϕ1 , i b + hϕ0 , ϕ2 i c = hϕ0 , Y i 4a + 6b + 14c = 4
a = 10
hϕ1 , ϕ0 i a + hϕ1 , ϕ1 i b + hϕ1 , ϕ2 i c = hϕ1 , Y i ⇒ 6a + 14b + 36c = 4 ⇒ b = − 11 10
c = − 21
hϕ2 , ϕ0 i a + hϕ2 , ϕ1 i b + hϕ2 , ϕ2 i c = hϕ2 , Y i 14a + 36b + 98c = 6
11 11
⇒ g(x) = 10 + 10 x − 12 x2
Khi đó ta nói g(x) là xấp xỉ tốt nhất của f (x) trên đoạn [a, b] theo phương pháp bình phương tối thiểu.
m
ci .ϕi (x), trong đó hệ {ϕi (x)}m
P
Thường tìm g(x) = i=0 là các hàm độc lập tuyến tính.
i=0
∂S
Các hệ số cj cần tìm là nghiệm của hệ phương trình tuyến tính ∂cj =0 ∀j = 0, m Hay
m
X Zb Zb
ci ϕi (x)ϕj (x)dx = f (x)ϕj (x)dx (1) ∀j = 0, m
i=0 a a
m
aj xj thì (1) có dạng:
P
Xấp xỉ bằng đa thức g(x) =
j=0
b
m
X Z Zb
xj+p dx aj = f (x)xp dx ∀p = 0, m
j=0 a a
Ví dụ: Nếu y = sin(x); x ∈ [0, π2 ]. Tìm xấp xỉ bậc nhất. Khi đó g(x) = ax + b.
Ta
πcó hệ phương trình:
π π
2 2 R2
2
R R
x dx.a + xdx.b = sin(x).xdx
( 3 2
π
a + π8 b = 1
1− π
0
π π
0
π
0
⇔ π242 π
⇒ g(x) = π34 96x + 8 π−3
π2
8 a + 2b = 1
R2 R2 R2
xdx.a + dx.b = sin(x)dx
0 0 0
Bài tập:
Bài 1:
Bài 2: Cho hàm số y = f (x) có các mốc nội suy trong bảng:
x 1 1,3 1,6 1,9
y 0,76 0,62 0,45 0,28
Sử dụng công thức nội suy Newton tính gần đúng f (1, 2); f (1, 85).
Bài 3: Tìm Spline tự nhiên bậc 3 của các bộ dữ liệu sau:
x 2 4 7 8 x 3 5 7 9 x 5 7 8 10
a) b) c)
y 2,2 1,8 2,7 3,1 y 3 5 4 2 y 1,5 1,9 2,5 2
Bài tập:
Bài 4: Tìm xấp xỉ hàm dạng g(x) = a.ebx của hàm số y = f (x) cho dưới dạng bảng dữ
liệu sau:
x 2 4 7 8,5 9,5 11
y 2,2 2,5 2,7 3,1 3,2 3,5
Tính y(3, 2)