You are on page 1of 71

NỘI SUY VÀ XẤP XỈ HÀM

Ngày 14 tháng 10 năm 2016

NỘI SUY VÀ XẤP XỈ HÀM Ngày 14 tháng 10 năm 2016 1/1


Đa thức nội suy

Đặt vấn đề

Trong thực hành, thường gặp những hàm số y = f (x) mà không biết biểu
thức giải tích cụ thể f của chúng. Thông thường, ta chỉ biết các giá trị
y0 , y1 , . . . , yn của hàm số tại các điểm khác nhau x0 , x1 , . . . , xn trên đoạn
[a, b]. Các giá trị này có thể nhận được thông qua thí nghiệm, đo
đạc,...Khi sử dụng những hàm trên, nhiều khi ta cần biết các giá trị của
chúng tại những điểm không trùng với xi (i = 0, 1, . . . , n).

NỘI SUY VÀ XẤP XỈ HÀM Ngày 14 tháng 10 năm 2016 2/1


Đa thức nội suy

Để làm được điều đó, ta phải xây dựng một đa thức

Pn (x) = an x n + an−1 x n−1 + . . . + a1 x + a0

thỏa mãn
Pn (xi ) = yi , i = 0, 1, 2, . . . , n

Định nghĩa
Pn (x) được gọi là đa thức nội suy của hàm f (x), còn các điểm
xi , i = 0, 1, 2, . . . , n được gọi là các nút nội suy

NỘI SUY VÀ XẤP XỈ HÀM Ngày 14 tháng 10 năm 2016 3/1


Đa thức nội suy

Về mặt hình học, có nghĩa là tìm đường cong


y = Pn (x) = an x n + an−1 x n−1 + . . . + a1 x + a0 đi qua các điểm
Mi (xi , yi ), i = 0, 1, 2, . . . , n đã biết trước của đường cong y = f (x).

NỘI SUY VÀ XẤP XỈ HÀM Ngày 14 tháng 10 năm 2016 4/1


Đa thức nội suy

Định lý
Đa thức nội suy Pn (x) của hàm số f (x), nếu có, thì chỉ có duy nhất.

Ví dụ
Xây dựng đa thức nội suy của hàm số y = f (x) được xác định bởi

x 0 1 3
y 1 -1 2

NỘI SUY VÀ XẤP XỈ HÀM Ngày 14 tháng 10 năm 2016 5/1


Đa thức nội suy

Giải.
Đa thức nội suy có dạng y = P(x) = a2 x 2 + a1 x + a0 . Thay các điểm
(xi , yi )(i = 1, 2, 3) vào đa thức này ta được hệ
 
 0.a2 + 0.a1 + a0 = 1  a0 = 1
1.a2 + 1.a1 + a0 = −1 ⇔ a1 = − 19
6
9.a2 + 3.a1 + a0 = 2 a2 = 76
 

7 19
Vậy đa thức nội suy P(x) = x 2 − x + 1
6 6

NỘI SUY VÀ XẤP XỈ HÀM Ngày 14 tháng 10 năm 2016 6/1


Đa thức nội suy Lagrange

Cho hàm số y = f (x) được xác định như sau:

x x0 x1 x2 ... xn
y y0 y1 y2 ... yn

Ta sẽ xây dựng đa thức nội suy của hàm f (x) trên đoạn [x0 , xn ], n > 1.
Đa thức nội suy Lagrange có dạng sau
n
X
Ln (x) = pnk (x).yk ,
k=0

trong đó

(x − x0 )(x − x1 ) . . . (x − xk−1 )(x − xk+1 ) . . . (x − xn )


pnk (x) =
(xk − x0 )(xk − x1 ) . . . (xk − xk−1 )(xk − xk+1 ) . . . (xk − xn )

NỘI SUY VÀ XẤP XỈ HÀM Ngày 14 tháng 10 năm 2016 7/1


Đa thức nội suy Lagrange

Ví dụ
Xây dựng đa thức nội suy Lagrange của hàm số y = sin(πx) tại các nút
nội suy x0 = 0, x1 = 16 , x2 = 21

Giải.
1 1
x 0 6 2
1
y = sin(πx) 0 2 1.

Công thức nội suy Lagrange của hàm số y

(x − 16 )(x − 21 ) x(x − 12 ) 1 x(x − 61 ) 7


L2 (x) = 1 1
.0 + 1 1 1 2
. + 1 1 1
.1 = x − 3x 2 .
(0 − 6 )(0 − 2 ) 6(6 − 2) 2 .( 2 − 6 )
2

NỘI SUY VÀ XẤP XỈ HÀM Ngày 14 tháng 10 năm 2016 8/1


Đa thức nội suy Lagrange

Đặt ω(x) = (x − x0 )(x − x1 ) . . . (x − xk−1 )(x − xk )(x − xk+1 ) . . . (x − xn ).


Khi đó
ω(x)
pnk (x) = 0
ω (xk )(x − xk )
Đa thức nội suy Lagrange trở thành
n n
X yk X yk
Ln (x) = ω(x). = ω(x). ,
ω 0 (xk )(x − xk ) Dk
k=0 k=0

với Dk = ω 0 (xk )(x − xk )

NỘI SUY VÀ XẤP XỈ HÀM Ngày 14 tháng 10 năm 2016 9/1


Đa thức nội suy Lagrange

x x0 x1 ... xn
x0 x − x0 x0 − x1 ... x0 − xn D0
x1 x1 − x0 x − x1 ... x1 − xn D1
... ... ... ... ... ...
xn xn − x0 xn − x1 ... x − xn Dn
ω(x)

NỘI SUY VÀ XẤP XỈ HÀM Ngày 14 tháng 10 năm 2016 10 / 1


Đa thức nội suy Lagrange

Ví dụ
x 0 1 3 4
Cho hàm số y được xác định bởi Sử dụng đa thức
y 1 1 2 -1
Lagrange tính gần đúng giá trị của hàm số y 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
Do đó    
y0 y1 y2 y3 1 1 2 −1
y (2) ≈ L3 (2) = ω(x) + + + =4 + + + = 2.
D0 D1 D2 D3 −24 6 6 −24

NỘI SUY VÀ XẤP XỈ HÀM Ngày 14 tháng 10 năm 2016 11 / 1


Đa thức nội suy Newton Tỉ sai phân

Cho hàm số f (x) xác định như sau


x x0 x1 x2 . . . xn
trên đoạn [a, b] = [x0 , xn ].
y y0 y1 y2 . . . yn

Định nghĩa
Trên đoạn [xk , xk+1 ] ta định nghĩa đại lượng
yk+1 − yk
f [xk , xk+1 ] =
xk+1 − xk

được gọi là tỉ sai phân cấp 1 của hàm trên đoạn [xk , xk+1 ]

NỘI SUY VÀ XẤP XỈ HÀM Ngày 14 tháng 10 năm 2016 12 / 1


Đa thức nội suy Newton Tỉ sai phân

Tương tự ta có tỉ sai phân cấp 2 của hàm trên đoạn [xk , xk+2 ] là

f [xk+1 , xk+2 ] − f [xk , xk+1 ]


f [xk , xk+1 , xk+2 ] =
xk+2 − xk

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 [xk , xk+1 , . . . , xk+p ] =

f [xk+1 , xk+2 , . . . , xk+p ] − f [xk , xk+1 , . . . , xk+p−1 ]


xk+p − xk

NỘI SUY VÀ XẤP XỈ HÀM Ngày 14 tháng 10 năm 2016 13 / 1


Đa thức nội suy Newton Tỉ sai phân

Ví dụ
x 1.0 1.3 1.6 1.9
Lập bảng tỉ sai phân của hàm cho bởi
y 0.76 0.62 0.45 0.28

xk f (xk ) f [xk , xk+1 ] f [xk , xk+1 , xk+2 ]


1.0 0.76
-0.47= 0.62−0.76
1.3−1.0
1.3 0.62 -0.17= −0.57−(−0.47)
1.6−1.0
-0.57= 0.45−0.62
1.6−1.3
1.6 0.45 -0.00== −0.57−(−0.57)
1.9−1.3
-0.57= 0.28−0.45
1.9−1.6
1.9 0.28

NỘI SUY VÀ XẤP XỈ HÀM Ngày 14 tháng 10 năm 2016 14 / 1


Đa thức nội suy Newton Công thức của đa thức nội suy Newton

Theo định nghĩa tỉ sai phân cấp 1 của f (x) trên đoạn [x, x0 ] là

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

Lại áp dụng định nghĩa tỉ sai phân cấp 2 của f (x) ta có

f [x, x0 ] − f [x0 , x1 ]
f [x, x0 , x1 ] =
x − x1
⇒ f [x, x0 ] = f [x0 , x1 ] + (x − x1 )f [x, x0 , 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 ).

NỘI SUY VÀ XẤP XỈ HÀM Ngày 14 tháng 10 năm 2016 15 / 1


Đa thức nội suy Newton Công thức của đa thức nội suy Newton

Quá trình trên 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 )+


+f [x, x0 , x1 , . . . , xn ](x − x0 )(x − x1 ) . . . (x − xn−1 )(x − xn )
(1)
Đặt Nn (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 ) và
Rn (x) = f [x, x0 , x1 , . . . , xn ](x − x0 )(x − x1 ) . . . (x − xn−1 )(x − xn ) ta được
(1)
f (x) = Nn (x) + Rn (x).

NỘI SUY VÀ XẤP XỈ HÀM Ngày 14 tháng 10 năm 2016 16 / 1


Đa thức nội suy Newton Công thức của đa thức nội suy Newton

Định nghĩa
(1)
Công thức Nn (x) được gọi là công thức Newton tiến xuất phát từ điểm
nút x0 của hàm số f (x) và Rn (x) được gọi là sai số của đa thức nội suy
(1)
Newton. Nn (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 )

NỘI SUY VÀ XẤP XỈ HÀM Ngày 14 tháng 10 năm 2016 17 / 1


Đa thức nội suy Newton Công thức của đa thức nội suy Newton

Tương tự, ta có thể xây dựng công thức Newton lùi xuất phát từ điểm nút
xn của hàm số f (x) như sau
(2)
Nn (x) = yn + f [xn−1 , xn ](x − xn ) + f [xn−2 , xn−1 , xn ](x − xn−1 )(x − xn ) +
. . . + f [x0 , x1 , . . . , xn ](x − x1 )(x − x2 ) . . . (x − xn )
Do tính duy nhất của đa thức nội suy, ta có với cùng 1 bảng số thì
(1) (2)
Ln (x) = Nn (x) = Nn (x)

NỘI SUY VÀ XẤP XỈ HÀM Ngày 14 tháng 10 năm 2016 18 / 1


Đa thức nội suy Newton Công thức của đa thức nội suy Newton

Ví dụ
Cho bảng giá trị của hàm số y = f (x)
x 0 2 3 5 6
y 1 3 2 5 6
1 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)
2 Dùng đa thức nội suy nhận được tính gần đúng f (1.25)

NỘI SUY VÀ XẤP XỈ HÀM Ngày 14 tháng 10 năm 2016 19 / 1


Đa thức nội suy Newton Công thức của đa thức nội suy Newton

Giải.
xk f (xk ) Tỉ sai phân I Tỉ sai phân II Tỉ sai phân III Tỉ sai phân IV
0 1
1= 3−1
2−0
2 3 -2/3
-1= 2−3
3−2
3/10
3 2 5/6 -11/120
3/2= 5−2
5−3
-1/4
5 5 -1/6
1= 6−5
6−5
6 6

NỘI SUY VÀ XẤP XỈ HÀM Ngày 14 tháng 10 năm 2016 20 / 1


Đa thức nội suy Newton Công thức của đa thức nội suy Newton

Như vậy công thức nội suy Newton tiến là

(1) 2 3
N4 (x) = 1 + 1.x + (− )x(x − 2) + x(x − 2)(x − 3)
3 10
11
− x(x − 2)(x − 3)(x − 5) =
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

NỘI SUY VÀ XẤP XỈ HÀM Ngày 14 tháng 10 năm 2016 21 / 1


Spline bậc ba Các khái niệm cơ bản

Việc xây dựng một đa thức đi qua các điểm nội suy cho
trước trong trường hợp n lớn là rất khó khăn. Biện pháp
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ởi các đường cong đơn giản như
đoạn thẳng. Tuy nhiên, khi đó tại các điểm nút hàm sẽ
mất tính khả vi. Do đó, phải xây dựng đường cong bằng
cách nối các đoạn cong nhỏ lại với nhau sao cho vẫn bảo
toàn tính khả vi của hàm. Đường cong như vậy được gọi
là đường spline (đường ghép trơn). Các hàm trên các
đoạn nhỏ này thường là các đa thức và bậc cao nhất của
các đa thức đó gọi là bậc của spline.

NỘI SUY VÀ XẤP XỈ HÀM Ngày 14 tháng 10 năm 2016 22 / 1


Spline bậc ba Các khái niệm cơ bản

Định nghĩa
Cho f (x) xác định trên đoạn [a, b] và một phép phân
hoạch của nó: a = x0 < x1 < x2 = b. Đặt
y0 = f (x0 ), y1 = f (x1 ), y2 = f (x2 ). Một spline bậc ba
nội suy hàm f (x) trên [a, b] là hàm g (x) thỏa các điều
kiện sau:
1 g (x) có đạo hàm đến cấp 2 liên tục trên [a, b]

g0 (x) x ∈ [x0 , x1 ]
2 g (x) = ở đây g0 (x), g1 (x) là
g1 (x) x ∈ [x1 , x2 ]
các đa thức bậc ba
3 g (x0 ) = f (x0 ) = y0 , g (x1 ) = f (x1 ) = y1 ,
g (x2 ) = f (x2 ) = y2 .
NỘI SUY VÀ XẤP XỈ HÀM Ngày 14 tháng 10 năm 2016 23 / 1
Spline bậc ba Các khái niệm cơ bản

NỘI SUY VÀ XẤP XỈ HÀM Ngày 14 tháng 10 năm 2016 24 / 1


Spline bậc ba Các khái niệm cơ bản

Xét đoạn [x0 , x1 ]. Đặt h0 = x1 − x0 . Vì g0 (x) là đa thức bậc ba nên

g0 (x) = a0 + b0 (x − x0 ) + c0 (x − x0 )2 + d0 (x − x0 )3 .

Do g (x0 ) = g0 (x0 ) = y0 ⇒ y0 = a0 và

g (x1 ) = g0 (x1 ) = y1
2 3
⇔ a0 + b0 (x1 − x0 ) + c0 (x1 − x0 ) + d0 (x1 − x0 ) = y1
⇔ a0 + b0 h0 + c0 h02 + d0 h03 = y1

Từ đó, ta có
y1 − y0
b0 = − c0 h0 − d0 h02
h0

NỘI SUY VÀ XẤP XỈ HÀM Ngày 14 tháng 10 năm 2016 25 / 1


Spline bậc ba Các khái niệm cơ bản

Xét đoạn [x1 , x2 ]. Đặt h1 = x2 − x1 . Vì g1 (x) là đa thức bậc ba nên

g1 (x) = a1 + b1 (x − x1 ) + c1 (x − x1 )2 + d1 (x − x1 )3 .

Do g (x1 ) = g1 (x1 ) = y1 ⇒ y1 = a1 và

g (x2 ) = g1 (x2 ) = y2
2 3
⇔ a1 + b1 (x2 − x1 ) + c1 (x2 − x1 ) + d1 (x2 − x1 ) = y2
⇔ a1 + b1 h1 + c1 h12 + d1 h13 = y2

Từ đó, ta có
y2 − y1
b1 = − c1 h1 − d1 h12
h1

NỘI SUY VÀ XẤP XỈ HÀM Ngày 14 tháng 10 năm 2016 26 / 1


Spline bậc ba Các khái niệm cơ bản

Do tính khả vi của hàm g (x) đến cấp 2 tại x1 nên g00 (x1 ) = g10 (x1 ) và
g000 (x1 ) = g100 (x1 ).
Từ điều kiện g000 (x1 ) = g100 (x1 ) ta được

2c0 + 6d0 (x1 − x0 ) = 2c1 + 6d1 (x1 − x1 )


c1 − c0
⇒d0 =
3h0
y1 − y0
⇒b0 = − c0 h0 − d0 h02
h0
y1 − y0 c1 − c0 2 y1 − y0 h0
= − c0 h0 − .h0 = − (c1 + 2c0 )
h0 3h0 h0 3

NỘI SUY VÀ XẤP XỈ HÀM Ngày 14 tháng 10 năm 2016 27 / 1


Spline bậc ba Các khái niệm cơ bản

Do tính khả vi của hàm g (x) đến cấp 2 tại x2 nên g100 (x2 ) = g200 (x2 )

⇒2c1 + 6d1 (x2 − x1 ) = 2c2 + 6d2 (x2 − x2 )


c2 − c1
⇒d1 =
3h1
y2 − y1
⇒b1 = − c1 h1 − d1 h12
h1
y2 − y1 c2 − c1 2 y2 − y1 h1
= − c1 h1 − .h1 = − (c2 + 2c1 )
h1 3h1 h1 3

NỘI SUY VÀ XẤP XỈ HÀM Ngày 14 tháng 10 năm 2016 28 / 1


Spline bậc ba Các khái niệm cơ bản

Từ điều kiện g00 (x1 ) = g10 (x1 ) ta được

b0 + 2c0 (x1 − x0 ) + 3d0 (x1 − x0 )2 = b1 + 2c1 (x1 − x1 ) + 3d1 (x1 − x1 )2


⇒b1 = b0 + 2c0 h0 + 3d0 h02

y2 − y1 h1 y1 − y0 h0
Thay b1 = − (c2 + 2c1 ), b0 = − (c1 + 2c0 ),
h1 3 h0 3
c1 − c0
d0 = , được
3h0
y2 − y1 y1 − y0
h0 c0 + 2(h0 + h1 )c1 + h1 c2 = 3 −3
h1 h0
Hệ này có vô số nghiệm.

NỘI SUY VÀ XẤP XỈ HÀM Ngày 14 tháng 10 năm 2016 29 / 1


Spline bậc ba Các khái niệm cơ bản

Định nghĩa
Cho f (x) xác định trên đoạn [a, b] và một phép phân
hoạch của nó: a = x0 < x1 < x2 < . . . < xn = b. Đặt
yk = f (xk ), k = 0..n. Một spline bậc ba nội suy hàm
f (x) trên [a, b] là hàm g (x) thỏa các điều kiện sau:
1 g (x) có đạo hàm đến cấp 2 liên tục trên [a, b]
2 Trên mỗi đoạn [xk , xk+1 ], k = 0..n − 1, g (x) = gk (x)
là 1 đa thức bậc ba
3 g (xk ) = f (xk ) = yk , ∀k = 0..n

NỘI SUY VÀ XẤP XỈ HÀM Ngày 14 tháng 10 năm 2016 30 / 1


Spline bậc ba Các khái niệm cơ bản

Xét đoạn [xk , xk+1 ], k = 0..n − 1. Đặt hk = xk+1 − xk . Vì gk (x) là đa thức


bậc ba nên

gk (x) = ak + bk (x − xk ) + ck (x − xk )2 + dk (x − xk )3 .

Do g (xk ) = gk (xk ) = yk ⇒ yk = ak và

ak + bk hk + ck hk2 + dk hk3 = g (xk+1 ) = gk (xk+1 ) = yk+1 .

Từ đó, ta có hệ
yk+1 − yk


 bk = − ck hk − dk hk2 , ∀k = 0..n − 1
hk
yk − yk−1 2
 bk−1
 = − ck−1 hk−1 − dk−1 hk−1 , ∀k = 1..n
hk−1

NỘI SUY VÀ XẤP XỈ HÀM Ngày 14 tháng 10 năm 2016 31 / 1


Spline bậc ba Các khái niệm cơ bản

Xét tại điểm xk , k = 1..n − 1. Do tính khả vi của hàm g (x) đến cấp 2 tại
0
xk nên gk−1 (xk ) = gk0 (xk ) và gk−1
00 (x ) = g 00 (x ).
k k k
00 (x ) = g 00 (x ) ta được
Từ điều kiện gk−1 k k k

ck − ck−1

 dk−1 =
 , ∀k = 1..n − 1
3hk−1
ck+1 − ck

 dk = , ∀k = 1..n − 1
3hk

yk+1 − yk hk


 bk = − (ck+1 + 2ck ), ∀k = 1..n − 1
⇒ hk 3
yk − yk−1 hk−1
 bk−1
 = − (ck + 2ck−1 ), ∀k = 1..n
hk−1 3

NỘI SUY VÀ XẤP XỈ HÀM Ngày 14 tháng 10 năm 2016 32 / 1


Spline bậc ba Các khái niệm cơ bản

0
Từ điều kiện gk−1 (xk ) = gk0 (xk ) ta được
2
bk = bk−1 + 2ck−1 hk−1 + 3dk−1 hk−1

yk+1 − yk yk − yk−1
hk−1 ck−1 + 2(hk−1 + hk )ck + hk ck+1 = 3 −3
hk hk−1

∀k = 1..n − 1.
Hệ này có vô số nghiệm nên để có tính duy nhất, ta phải bổ sung thêm
các điều kiện biên.

NỘI SUY VÀ XẤP XỈ HÀM Ngày 14 tháng 10 năm 2016 33 / 1


Spline bậc ba Spline bậc ba tự nhiên

Spline bậc ba tự nhiên

Điều kiện để xác định 1 spline bậc ba tự nhiên là

g 00 (a) = g 00 (b) = 0.

Ta có

g 00 (a) = g000 (x0 ) = 0


⇔ 2c0 + 6d0 (x0 − x0 ) = 0 ⇒ c0 = 0
g 00 (b) = gn00 (xn ) = 0
⇔ 2cn + 6dn (xn − xn ) = 0 ⇒ cn = 0

NỘI SUY VÀ XẤP XỈ HÀM Ngày 14 tháng 10 năm 2016 34 / 1


Spline bậc ba Spline bậc ba tự nhiên

Giải hệ AC = B tìm C với C = (c0 , c1 , . . . , cn−1 , cn )T và


 
1 0 0 ... 0 0
 h0 2(h0 + h1 ) h1 . . . 0 0 
 
A= ... ... ... ... ... ... 

 0 0 0 . . . 2(hn−2 + hn−1 ) hn−1 
0 0 0 ... 0 1
 
0
y2 − y1 y1 − y0
3 −3
 
 
 h1 h0 
B = ...
 

 yn − yn−1 y n−1 − y n−2 

3 −3
 hn−1 hn−2 
0
NỘI SUY VÀ XẤP XỈ HÀM Ngày 14 tháng 10 năm 2016 35 / 1
Spline bậc ba Spline bậc ba tự nhiên

Sau khi tìm được c0 , c1 , . . . , cn−1 , cn thì các hệ số của gk (x) được xác
định bởi 
 ak = yk
yk+1 − yk hk



bk = − (ck+1 + 2ck )
hk 3
 c − ck
 dk = k+1

 , ∀k = 0..n − 1
3hk

NỘI SUY VÀ XẤP XỈ HÀM Ngày 14 tháng 10 năm 2016 36 / 1


Spline bậc ba Ví dụ

Ví dụ
x 0 2 5
Xây dựng spline bậc ba tự nhiên nội suy bảng số
y 1 1 4

n = 2, h0 = 2, h1 = 3. Do là spline bậc ba tự nhiên nên c0 = c2 = 0. Hệ số


c1 được xác định bởi
y2 − y1 y1 − y0
h0 c0 + 2(h0 + h1 )c1 + h1 c2 = 3 −3
h1 h0
3
⇒ c1 =
10

NỘI SUY VÀ XẤP XỈ HÀM Ngày 14 tháng 10 năm 2016 37 / 1


Spline bậc ba Ví dụ

Khi k = 0 ta có

 a0 = y 0 = 1
y1 − y0 h0 1


− (c1 + 2c0 ) = −

b0 =
h0 3 5
 c − c0 1
 d0 = 1

 = ,
3h0 20

Khi k = 1 ta có

 a1 = y1 = 1
y2 − y1 h1 2


− (c2 + 2c1 ) =

b1 =
h1 3 5
 c − c1 1
 d1 = 2

 =− ,
3h1 30

NỘI SUY VÀ XẤP XỈ HÀM Ngày 14 tháng 10 năm 2016 38 / 1


Spline bậc ba Ví dụ

Vậy spline bậc ba tự nhiên cần tìm là



 1 − 1 x + 1 x 3,

x ∈ [0, 2]
g (x) = 5 20
2 3 1
 1 + (x − 2)+
 (x − 2)2 − (x − 2)3 , x ∈ [2, 5]
5 10 30

NỘI SUY VÀ XẤP XỈ HÀM Ngày 14 tháng 10 năm 2016 39 / 1


Spline bậc ba Ví dụ

Ví dụ
x 0 1 2 3
Xây dựng spline bậc ba tự nhiên nội suy bảng số
y 1 2 4 8

n = 3, h0 = h1 = h2 = 1. Do là spline bậc ba tự nhiên nên c0 = c3 = 0.


Hệ số c1 , c2 được xác định bởi AC = B với
 
1 0 0 0
 h0 2(h0 + h1 ) h1 0 
A=
 0

h1 2(h1 + h2 ) h2 
0 0 0 1

NỘI SUY VÀ XẤP XỈ HÀM Ngày 14 tháng 10 năm 2016 40 / 1


Spline bậc ba Ví dụ

 
0
 y2 − y1 y1 − y0
−3

 3 
B =  y3 h−1 y2 h0
 
y2 − y1 
 3 −3 
 h2 h1 
0
C = (c0 , c1 , c2 , c3 )T
y − y1 y1 − y0

 2(h0 + h1 ).c1 + h1 .c2 = 3 2
 −3
⇒ h1 h0
y3 − y2 y2 − y1
 h1 .c1 + 2(h1 + h2 ).c2 = 3
 −3
h2 h1

NỘI SUY VÀ XẤP XỈ HÀM Ngày 14 tháng 10 năm 2016 41 / 1


Spline bậc ba Ví dụ


4.c1 + 1.c2 = 3

1.c1 + 4.c2 = 6

 c1 = 2

⇒ 5
7
 c2 =

5

NỘI SUY VÀ XẤP XỈ HÀM Ngày 14 tháng 10 năm 2016 42 / 1


Spline bậc ba Ví dụ

Khi k = 0 ta có

 a0 = y 0 = 1
y1 − y0 h0 13




b0 = (c1 + 2c0 ) =
h0 3 15
 c − c0 2
 d0 = 1

 = ,
3h0 15

Khi k = 1 ta có

 a1 = y 1 = 2
y2 − y1 h1 19




b1 = (c2 + 2c1 ) =
h1 3 15
 c − c1 1
 d1 = 2

 = ,
3h1 3

NỘI SUY VÀ XẤP XỈ HÀM Ngày 14 tháng 10 năm 2016 43 / 1


Spline bậc ba Ví dụ

Khi k = 2 ta có

 a2 = y 2 = 4
y3 − y2 h2 46


− (c3 + 2c2 ) =

b2 =
h2 3 15
 c − c2 7
 d2 = 3

 =− ,
3h2 15

Vậy spline bậc ba tự nhiên cần tìm là

13 2


 1+ x + x 3, x ∈ [0, 1]

 15 15
19 2 1

g (x) = 2+ (x − 1) + (x − 1)2 + (x − 1)3 , x ∈ [1, 2]
 15 5 3

 46 7 7
 4+ (x − 2) + (x − 2)2 − (x − 2)3 , x ∈ [2, 3]

15 5 15

NỘI SUY VÀ XẤP XỈ HÀM Ngày 14 tháng 10 năm 2016 44 / 1


Spline bậc ba Spline bậc ba ràng buộc

Spline bậc ba ràng buộc

Điều kiện để xác định 1 spline bậc ba ràng buộc là

g 0 (a) = α, g 0 (b) = β.

Ta có

g 0 (a) = g00 (x0 ) = α


⇔ b0 + 2c0 (x0 − x0 ) + 3d0 (x0 − x0 )2 = α ⇒ b0 = α
y1 − y0 h0
⇒ − (c1 + 2c0 ) = α
h0 3
y1 − y0
⇒ 2h0 c0 + h0 c1 = 3 − 3α
h0

NỘI SUY VÀ XẤP XỈ HÀM Ngày 14 tháng 10 năm 2016 45 / 1


Spline bậc ba Spline bậc ba ràng buộc

g 0 (b) = gn−1
0
(xn ) = β
⇔ bn−1 + 2cn−1 (xn − xn−1 ) + 3dn−1 (xn − xn−1 )2 = β
yn − yn−1 hn−1 cn − cn−1 2
⇒ − (cn + 2cn−1 ) + 2cn−1 hn−1 + 3. .hn−1 = β
hn−1 3 3hn−1
yn − yn−1
⇒ hn−1 cn−1 + 2hn−1 cn = 3β − 3
hn−1

NỘI SUY VÀ XẤP XỈ HÀM Ngày 14 tháng 10 năm 2016 46 / 1


Spline bậc ba Spline bậc ba ràng buộc

Khi đó ta có thêm 2 phương trình


y1 − y0


 2h0 c0 + h0 c1 = 3 − 3α
h0
yn − yn−1
 hn−1 cn−1 + 2hn−1 cn = 3β − 3

hn−1

và thuật toán xác định spline bậc ba ràng buộc như sau: giải hệ AC = B
tìm C với C = (c0 , c1 , . . . , cn−1 , cn )T

NỘI SUY VÀ XẤP XỈ HÀM Ngày 14 tháng 10 năm 2016 47 / 1


Spline bậc ba Spline bậc ba ràng buộc

 
2h0 h0 0 ... 0 0

 h0 2(h0 + h1 ) h1 . . . 0 0 

A=
 ... ... ... ... ... ... 

 0 0 0 . . . 2(hn−2 + hn−1 ) hn−1 
0 0 0 ... h 2hn−1
 y1 − y0  n−1
3 − 3α
 h0 
 y2 − y1 y1 − y0 
 3 −3 

 h1 h0 

B= ... 
yn − yn−1 yn−1 − yn−2 
 
3 −3

 
 hn−1 hn−2 
 yn − yn−1 
3β − 3
hn−1

NỘI SUY VÀ XẤP XỈ HÀM Ngày 14 tháng 10 năm 2016 48 / 1


Spline bậc ba Spline bậc ba ràng buộc

Sau khi tìm được c0 , c1 , . . . , cn−1 , cn thì các hệ số của gk (x) được xác
định bởi 
 ak = yk
yk+1 − yk hk



bk = − (ck+1 + 2ck )
hk 3
 c − ck
 dk = k+1

 , ∀k = 0..n − 1
3hk

NỘI SUY VÀ XẤP XỈ HÀM Ngày 14 tháng 10 năm 2016 49 / 1


Spline bậc ba Ví dụ

Ví dụ
x 0 1
Xây dựng spline bậc ba ràng buộc nội suy bảng số thỏa
y 1 1
y 0 (0) = 1, y 0 (1) = 1.

n = 1, h0 = 1. Khi đó
y − y0

 2h0 c0 + h0 c1 = 3 1
 − 3α
h0
y − y0
 h0 c0 + 2h0 c1 = 3β − 3 1

h0
 
2c0 + c1 = −3 c0 = −3
⇒ ⇒
c0 + 2c1 = 3 c1 = 3

NỘI SUY VÀ XẤP XỈ HÀM Ngày 14 tháng 10 năm 2016 50 / 1


Spline bậc ba Ví dụ

Khi k = 0 ta có

 a0 = y0 = 1
y1 − y0 h0



b0 = − (c1 + 2c0 ) = 1
h0 3
 c − c0
 d0 = 1

 = 2,
3h0

Vậy spline bậc ba ràng buộc cần tìm là

g (x) = 1 + x − 3x 2 + 2x 3 , x ∈ [0, 1]

NỘI SUY VÀ XẤP XỈ HÀM Ngày 14 tháng 10 năm 2016 51 / 1


Spline bậc ba Ví dụ

Ví dụ
x 0 1 2
Xây dựng spline bậc ba ràng buộc nội suy bảng số thỏa
y 1 2 1
điều kiện y 0 (0) = 0, y 0 (2) = 0.

n = 2, h0 = h1 = 1, α = β = 0. Hệ số c0 , c1 , c2 được xác định bởi AC = B


với  
2h0 h0 0
A =  h0 2(h0 + h1 ) h1 
0 h1 2h1

NỘI SUY VÀ XẤP XỈ HÀM Ngày 14 tháng 10 năm 2016 52 / 1


Spline bậc ba Ví dụ

 y1 − y0 
3 − 3α
 h0 
 y2 − y1 y1 − y0 
B= 3 −3 
 h1 h0 
 y2 − y1 
3β − 3
h1
C = (c0 , c1 , c2 )T
 
 2.c0 + c1 + 0.c2 = 3  c0 = 3
⇒ c0 + 4c1 + c2 = −6 ⇒ c1 = −3
0.c0 + c1 + 2.c2 = 3 c2 = 3
 

NỘI SUY VÀ XẤP XỈ HÀM Ngày 14 tháng 10 năm 2016 53 / 1


Spline bậc ba Ví dụ

Khi k = 0 ta có

 a0 = y0 = 1
y1 − y0 h0



b0 = − (c1 + 2c0 ) = 0
h0 3

 c1 − c0
 d0 =
 = −2,
3h0

Khi k = 1 ta có

 a1 = y1 = 2
y2 − y1 h1



b1 = − (c2 + 2c1 ) = 0
h1 3
 c − c1
 d1 = 2

 = 2,
3h1

NỘI SUY VÀ XẤP XỈ HÀM Ngày 14 tháng 10 năm 2016 54 / 1


Spline bậc ba Ví dụ

Vậy spline bậc ba ràng buộc cần tìm là

1 + 3x 2 − 2x 3 , x ∈ [0, 1]

g (x) =
2 − 3(x − 1)2 + 2(x − 1)3 , x ∈ [1, 2]

NỘI SUY VÀ XẤP XỈ HÀM Ngày 14 tháng 10 năm 2016 55 / 1


Bài toán xấp xỉ hàm thực nghiệm

Bài toán xấp xỉ hàm thực nghiệm

Trong mặt phẳng xOy cho tập hợp điểm Mk (xk , yk ), k = 1, 2, . . . , n, trong
đó có ít nhất 2 điểm nút xi , xj khác nhau với i 6= j và n rất lớn. Khi đó
việc xây dựng một đường cong đi qua tất cả những đ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 đó.

NỘI SUY VÀ XẤP XỈ HÀM Ngày 14 tháng 10 năm 2016 56 / 1


Bài toán xấp xỉ hàm thực nghiệm

Phương pháp bình phương bé nhất giúp ta giải quyết vấn đề này. Nội
dung của phương pháp là tìm cực tiểu của phiếm hàm
n
X
g (f ) = (f (xk ) − yk )2 → min .
k=1

Dạng đơn giản thường gặp trong thực tế của f (x) là

f (x) = A + Bx.
f (x) = A + Bx + Cx 2 ,
f (x) = Ap(x) + Bq(x),

NỘI SUY VÀ XẤP XỈ HÀM Ngày 14 tháng 10 năm 2016 57 / 1


Bài toán xấp xỉ hàm thực nghiệm Trường hợp f (x) = A + Bx

Trường hợp f (x) = A + Bx Khi đó


n
X
g (A, B) = (A + Bxk − yk )2
k=1

Bài toán quy về việc tìm cực tiểu của hàm 2 biến g (A, B). Tọa độ điểm
dừng của hàm được xác định bởi hệ phương trình
 n n
∂ P
(A + Bxk − yk )2 = 2 (A + Bxk − yk ) = 0
 P

∂A k=1

k=1
∂ n n
2
P P

 (A + Bxk − yk ) = 2 (A + Bxk − yk )xk = 0
∂B k=1

k=1

NỘI SUY VÀ XẤP XỈ HÀM Ngày 14 tháng 10 năm 2016 58 / 1


Bài toán xấp xỉ hàm thực nghiệm Trường hợp f (x) = A + Bx

n n
  
P P


 nA + xk B = yk
⇔ k=1 k=1
n n n
   
2
P P P
xk A + xk B = xk yk



k=1 k=1 k=1

NỘI SUY VÀ XẤP XỈ HÀM Ngày 14 tháng 10 năm 2016 59 / 1


Bài toán xấp xỉ hàm thực nghiệm Trường hợp f (x) = A + Bx

Ví dụ
Tìm hàm f (x) = A + Bx xấp xỉ tốt nhất bảng số
x 1 1 2 2 2 3 3 4 5 6
y 1 2 2 3 4 4 5 5 6 7
n n n
xk2 = 109,
P P P
Giải. Ta có n = 10 và xk = 29, yk = 39,
k=1 k=1 k=1
n
P
xk yk = 140.
k=1
Hệ phương trình để xác định A, B có dạng
 
10A + 29B = 39 A = 0.7671

29A + 109B = 140 B = 1.0803

Do đó đường thẳng cần tìm là f (x) = 0.7671 + 1.0803x.

NỘI SUY VÀ XẤP XỈ HÀM Ngày 14 tháng 10 năm 2016 60 / 1


Bài toán xấp xỉ hàm thực nghiệm Trường hợp f (x) = A + Bx

Bấm máy. Bấm Mode 3 - STAT. Chọn 3- A + Bx.


Nhập dữ liệu của 2 cột x, y .
AC - Thoát ra.
Chọn Shift 1 - chọn 7 - Reg - chọn 1- A =.
Chọn Shift 1 - chọn 7 - Reg - chọn 2- B =.

NỘI SUY VÀ XẤP XỈ HÀM Ngày 14 tháng 10 năm 2016 61 / 1


Bài toán xấp xỉ hàm thực nghiệm Trường hợp f (x) = A + Bx + Cx 2

Trường hợp f (x) = A + Bx + Cx 2 Khi đó


n
X
g (A, B, C ) = (A + Bxk + Cxk2 − yk )2
k=1

Bài toán quy về việc tìm cực tiểu của hàm 3 biến g (A, B, C ). Tọa độ điểm
dừng của hàm được xác định bởi hệ phương trình
 n n
∂ P
(A + Bxk + Cxk2 − yk )2 = 2 (A + Bxk + Cxk2 − yk )
P
=0


∂A k=1



 k=1
 ∂ P n n
(A + Bxk + Cxk2 − yk )2 = 2 (A + Bxk + Cxk2 − yk )xk = 0
P
 ∂B k=1 k=1
n n

 ∂ P
(A + Bxk + Cxk − yk ) = 2 (A + Bxk + Cxk2 − yk )xk2 = 0
2 2

 P

∂C k=1

k=1

NỘI SUY VÀ XẤP XỈ HÀM Ngày 14 tháng 10 năm 2016 62 / 1


Bài toán xấp xỉ hàm thực nghiệm Trường hợp f (x) = A + Bx + Cx 2

  n
 n
 n

xk2
P P P
nA + xk B + C = yk





 k=1 k=1 k=1
  n
  n
  n
 n
xk2 B + xk3 C =
P P P P
⇔ xk A + xk yk


  k=1
n
 k=1
n
 k=1
n
 k=1
n

xk2 A + xk3 B + xk4 C = xk2 yk

 P P P P

k=1 k=1 k=1 k=1

NỘI SUY VÀ XẤP XỈ HÀM Ngày 14 tháng 10 năm 2016 63 / 1


Bài toán xấp xỉ hàm thực nghiệm Trường hợp f (x) = A + Bx + Cx 2

Ví dụ
Tìm hàm f (x) = A + Bx + Cx 2 xấp xỉ tốt nhất bảng số
x 1 1 2 3 3 4 5
y 4.12 4.18 6.23 8.34 8.38 12.13 18.32

Giải. Hệ phương trình để xác định A, B, C có dạng


 
 7A + 19B + 65C = 61.70  A = 4.30
19A + 65B + 253C = 211.04 ⇔ B = −0.71
 65A + 253B + 1061C = 835.78  C = 0.69

Do đó parabol cần tìm là f (x) = 4.30 − 0.71x + 0.69x 2 .

NỘI SUY VÀ XẤP XỈ HÀM Ngày 14 tháng 10 năm 2016 64 / 1


Bài toán xấp xỉ hàm thực nghiệm Trường hợp f (x) = A + Bx + Cx 2

Bấm máy. Bấm Mode 3 - STAT.


Chọn 3- + cx 2 .
Nhập dữ liệu của 2 cột x, y .
AC - Thoát ra.
Chọn Shift 1 - chọn 7 - Reg - chọn 1- A =.
Chọn Shift 1 - chọn 7 - Reg - chọn 2- B =.
Chọn Shift 1 - chọn 7 - Reg - chọn 3- C =.

NỘI SUY VÀ XẤP XỈ HÀM Ngày 14 tháng 10 năm 2016 65 / 1


Bài toán xấp xỉ hàm thực nghiệm Trường hợp f (x) = Ap(x) + Bq(x)

Trường hợp f (x) = Ap(x) + Bq(x) Khi đó


n
X
g (A, B) = (Ap(xk ) + Bq(xk ) − yk )2
k=1

Bài toán quy về việc tìm cực tiểu của hàm 2 biến g (A, B). Tọa độ điểm
dừng của hàm được xác định bởi hệ phương trình
 n
∂ P
g (A, B) = 2 (Ap(xk ) + Bq(xk ) − yk )p(xk ) = 0


∂A

k=1
∂ Pn

 g (A, B) = 2 (Ap(xk ) + Bq(xk ) − yk )q(xk ) = 0
∂B

k=1

NỘI SUY VÀ XẤP XỈ HÀM Ngày 14 tháng 10 năm 2016 66 / 1


Bài toán xấp xỉ hàm thực nghiệm Trường hợp f (x) = Ap(x) + Bq(x)

  n
  n
 n
2
P P P
p (xk ) A + p(xk )q(xk ) B = p(xk )yk



k=1 k=1 k=1
⇔  n
 n
 n
q 2 (xk ) B =
P P P
p(xk )q(xk ) A + q(xk )yk



k=1 k=1 k=1

NỘI SUY VÀ XẤP XỈ HÀM Ngày 14 tháng 10 năm 2016 67 / 1


Bài toán xấp xỉ hàm thực nghiệm Trường hợp f (x) = Ap(x) + Bq(x)

Ví dụ

Tìm hàm f (x) = A x + B cos(x) xấp xỉ tốt nhất bảng số
x 1.0 1.2 1.4 1.6 1.8 2.0
y 2.27 2.37 2.45 2.52 2.60 2.62

Giải. Ta có n = 6, p(x) = x, q(x) = cos(x) và
n n
p 2 (xk ) =
P P
xk = 9, Shift-STO-A
k=1 k=1
Pn n √
P
p(xk )q(xk ) = xk . cos(xk ) = 0.2080742774, Shift-STO-B.
k=1 k=1

NỘI SUY VÀ XẤP XỈ HÀM Ngày 14 tháng 10 năm 2016 68 / 1


Bài toán xấp xỉ hàm thực nghiệm Trường hợp f (x) = Ap(x) + Bq(x)

n
P n √
P
p(xk )yk = xk .yk = 18.14616548, Shift-STO-C.
k=1 k=1
n n
q 2 (xk ) = cos2 (xk ) = 0.6777701471, Shift-STO-D.
P P
k=1 k=1
Pn Pn
q(xk )yk = cos(xk ).yk = 0.7470806584, Shift-STO-M.
k=1 k=1
Hệ phương trình để xác định A, B :
 
A.A + B.B = C A = 2.00498761

B.A + D.B = M B = 0.48673479

Vậy f (x) = 2.0050 x + 0.4867 cos(x).

NỘI SUY VÀ XẤP XỈ HÀM Ngày 14 tháng 10 năm 2016 69 / 1


Bài toán xấp xỉ hàm thực nghiệm Trường hợp f (x) = Ap(x) + Bq(x)

Bấm máy. Shift-Mode-STAT-Frequency-ON


1 Tìm ma trận hệ số

Mode 3-STAT - 2: A+BX. Nhập vào cột X là X , nhập vào cột Y là
cos(X ). AC-thoát ra. P
Shift - 1 - 4: Sum - 1:P x 2 = Shift-STO-A
Shift - 1 - 4: Sum - 5:P xy = Shift-STO-B
Shift - 1 - 4: Sum - 3: y 2 = Shift-STO-D
2 Tìm cột hệ số tự do
Shift - 1 - 2: Data
Nhập giá trị của cột FREQ là giá trị y . AC-thoát ra
Shift - 1 - 5: Var - 2:x × Shift - 1 - 5: Var -1:n = Shift-STO-C
Shift - 1 - 5: Var - 5:y × Shift - 1 - 5: Var -1:n = Shift-STO-M
3 Giải hệ phương trình: Mode-5:EQN-1:anX+bnY=cn

NỘI SUY VÀ XẤP XỈ HÀM Ngày 14 tháng 10 năm 2016 70 / 1


Bài toán xấp xỉ hàm thực nghiệm Trường hợp f (x) = Ap(x) + Bq(x)

THANK YOU FOR ATTENTION

NỘI SUY VÀ XẤP XỈ HÀM Ngày 14 tháng 10 năm 2016 71 / 1

You might also like