Professional Documents
Culture Documents
Noi - Suy Lagrave
Noi - Suy Lagrave
4 SPLINE BẬC BA
4 SPLINE BẬC BA
ĐẶT VẤN ĐỀ
ĐỊNH LÝ 1.1
Đa thức nội suy P n (x) của hàm số f (x), nếu
có, thì chỉ có duy nhất.
ĐỊNH LÝ 1.1
Đa thức nội suy P n (x) của hàm số f (x), nếu
có, thì chỉ có duy nhất.
VÍ DỤ 1.1
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
Giải.
Đa thức nội suy có dạng
y = P (x) = a 2 x 2 + a 1 x + a 0 . Thay các điểm
(x i , y i )(i = 1, 2, 3) vào đa thức này ta được hệ
0.a 2 + 0.a 1 + a 0 = 1
a0 = 1
1.a 2 + 1.a 1 + a 0 = −1 ⇔ a 1 = − 19 6
9.a + 3.a + a = 2 a = 7
2 1 0 2 6
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 TP. HCM — 2017. 7 / 73
Đa thức nội suy Lagrange
VÍ DỤ 2.1
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
x 0 = 0, x 1 = 16 , x 2 = 12
VÍ DỤ 2.1
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
x 0 = 0, x 1 = 16 , x 2 = 12
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− 12 ) x(x− 12 ) 1 x(x− 16 )
L 2 (x) = 1
( − ) .( − )
7 2
1 .0+ 1 1 1 . 2 + 1 1 1 .1 = 2 x −3x .
(0− 6 )(0− 2 ) 6 6 2 2 2 6
Đặt
ω(x) = (x−x 0 ) . . . (x−x k−1 )(x−x k )(x−x k+1 ) . . . (x−x n
Khi đó
ω(x)
p nk (x) =
ω0 (x k )(x − x k )
Đa thức nội suy Lagrange trở thành
n n
yk yk
L n (x) = ω(x). ω(x).
X X
= ,
k=0 ω0 (x )(x − x )
k k k=0 D k
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)
VÍ DỤ 2.2
Cho hàm số y được xác định bởi
x 0 1 3 4
Sử dụng đa thức Lagrange
y 1 1 2 -1
tính gần đúng giá trị của hàm số y tại x = 2.
VÍ DỤ 2.2
Cho hàm số y được xác định bởi
x 0 1 3 4
Sử dụng đa thức Lagrange
y 1 1 2 -1
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 D 0 = (2 − 0)(0 − 1)(0 − 3)(0 − 4) = −24
1 1−0 2−1 1−3 1−4 D 1 = (1 − 0)(2 − 1)(1 − 3)(1 − 4) = 6
3 3−0 3−1 2−3 3−4 D 2 = (3 − 0)(3 − 1)(2 − 3)(3 − 4) = 6
4 4−0 4−1 4−3 2−4 D 3 = (4 − 0)(4 − 1)(4 − 3)(2 − 4) = −24
ω(x) = (2 − 0)(2 − 1)(2 − 3)(2 − 4) = 4
y0 y1 y2 y3
µ ¶ µ ¶
1 1 2 −1
Do đó y(2) ≈ L 3 (2) = ω(x) + + + =4 + + + = 2.
D0 D1 D2 D3 −24 6 6 −24
NỘI SUY VÀ XẤP XỈ HÀM TP. HCM — 2017. 12 / 73
Đa thức nội suy Newton Tỉ sai phân
VÍ DỤ 3.1
Lập bảng tỉ sai phân của hàm cho bởi
x 1.0 1.3 1.6 1.9
y 0.76 0.62 0.45 0.28
VÍ DỤ 3.1
Lập bảng tỉ sai phân của hàm cho bởi
x 1.0 1.3 1.6 1.9
y 0.76 0.62 0.45 0.28
xk f (x k ) f [x k , x k+1 ] f [x k , x k+1 , x k+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 TP. HCM — 2017. 15 / 73
Đa thức nội suy Newton Công thức của đa thức nội suy Newton
VÍ DỤ 3.2
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 x 0 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)
Giải.
xk f (x k ) 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
0
Từ điều kiện g k−1 (x k ) = g k0 (x k ) ta được
2
b k = b k−1 + 2c k−1 h k−1 + 3d k−1 h k−1
0
Từ điều kiện g k−1 (x k ) = g k0 (x k ) ta được
2
b k = b k−1 + 2c k−1 h k−1 + 3d k−1 h k−1
h c + 2(h k−1 + h k )c k + h k c k+1 =
k−1 k−1
y k+1 − y k y k − y k−1
⇒ = 3 − 3
hk h k−1
∀k = 1..n − 1
g 00 (a) = g 000 (x 0 ) = 0
⇔ 2c 0 + 6d 0 (x 0 − x 0 ) = 0 ⇒ c 0 = 0
g 00 (b) = g n00 (x n ) = 0
⇔ 2c n + 6d n (x n − x n ) = 0 ⇒ c n = 0
NỘI SUY VÀ XẤP XỈ HÀM TP. HCM — 2017. 36 / 73
Spline bậc ba Spline bậc ba tự nhiên
VÍ DỤ 4.1
Xây dựng spline bậc ba tự nhiên nội suy
x 0 2 5
bảng số
y 1 1 4
VÍ DỤ 4.1
Xây dựng spline bậc ba tự nhiên nội suy
x 0 2 5
bảng số
y 1 1 4
n = 2, h 0 = 2, h 1 = 3. Do là spline bậc ba tự
nhiên nên c 0 = c 2 = 0. Hệ số c 1 được xác định
bởi
y2 − y1 y1 − y0
h 0 c 0 + 2(h 0 + h 1 )c 1 + h 1 c 2 = 3 −3
h1 h0
3
⇒ c1 =
10
NỘI SUY VÀ XẤP XỈ HÀM TP. HCM — 2017. 39 / 73
Spline bậc ba Ví dụ
Khi k
= 0 ta có
a0 = y 0 = 1
y 1 − y 0 h0 1
b0 = − (c 1 + 2c 0 ) = −
h0 3 5
c − c 1
1 0
d0 = = ,
3h 0 20
Khi k
= 0 ta có
a0 = y 0 = 1
y 1 − y 0 h0 1
b0 = − (c 1 + 2c 0 ) = −
h0 3 5
c − c 1
1 0
d0 = = ,
3h 0 20
Khi k =1 ta có
a1 = y 1 = 1
y 2 − y 1 h1 2
b1 = − (c 2 + 2c 1 ) =
h1 3 5
c2 − c1 1
d1 = =− ,
3h 1 30
NỘI SUY VÀ XẤP XỈ HÀM TP. HCM — 2017. 40 / 73
Spline bậc ba Ví dụ
VÍ DỤ 4.2
Xây dựng spline bậc ba tự nhiên nội suy
x 0 1 2 3
bảng số
y 1 2 4 8
VÍ DỤ 4.2
Xây dựng spline bậc ba tự nhiên nội suy
x 0 1 2 3
bảng số
y 1 2 4 8
n = 3, h 0 = h 1 = h 2 = 1. Do là spline bậc ba tự
nhiên nên c 0 = c 3 = 0. Hệ số c 1, c 2 được xác
định bởi AC = B với
1 0 0 0
h 0 2(h 0 + h 1 ) h1 0
A=
0 h1 2(h 1 + h 2 ) h 2
0 0 0 1
NỘI SUY VÀ XẤP XỈ HÀM TP. HCM — 2017. 42 / 73
Spline bậc ba Ví dụ
0
y2 − y1 y1 − y0
3 −3
h h
B = y 3 −1 y 2 y 2 −0 y 1
3 −3
h2 h1
0
C = (c 0 , c 1 , c 2 , c 3 )T
y2 − y1 y1 − y0
2(h 0 + h 1 ).c 1 + h 1 .c 2 = 3 −3
h h
⇒ y 3 −1 y 2 y 2 −0 y 1
h 1 .c 1 + 2(h 1 + h 2 ).c 2 = 3 −3
h2 h1
NỘI SUY VÀ XẤP XỈ HÀM TP. HCM — 2017. 43 / 73
Spline bậc ba Ví dụ
(
4.c 1 + 1.c 2 = 3
⇒
1.c 1 + 4.c 2 = 6
2
c1 =
⇒ 5
7
c2 =
5
Khi k =
0 ta có
a0 = y 0 = 1
y 1 − y 0 h0 13
b0 = − (c 1 + 2c 0 ) =
h0 3 15
c − c 2
1 0
d0 = = ,
3h 0 15
Khi k =
0 ta có
a0 = y 0 = 1
y 1 − y 0 h0 13
b0 = − (c 1 + 2c 0 ) =
h0 3 15
c − c 2
1 0
d0 = = ,
3h 0 15
Khi k =
1 ta có
a1 = y 1 = 2
y 2 − y 1 h1 19
b1 = − (c 2 + 2c 1 ) =
h1 3 15
c2 − c1 1
d1 = = ,
3h 1 3
NỘI SUY VÀ XẤP XỈ HÀM TP. HCM — 2017. 45 / 73
Spline bậc ba Ví dụ
Khi k = 2 ta có
a2 = y 2 = 4
y 3 − y 2 h2 46
b2 = − (c 3 + 2c 2 ) =
h2 3 15
c − c 7
3 2
d2 = =− ,
3h 2 15
Khi k = 2 ta có
a2 = y 2 = 4
y 3 − y 2 h2 46
b2 = − (c 3 + 2c 2 ) =
h2 3 15
c − c 7
3 2
d2 = =− ,
3h 2 15
Vậy spline bậc ba tự nhiên cần tìm là
13 2 3
1 + 15 x + 15 x ,
x ∈ [0, 1]
g (x) = 2 + 19
15
(x − 1)+ 2
5
(x − 1)2 + 13 (x − 1)3 , x ∈ [1, 2]
4 + 46 (x − 2)+
7
(x − 2)2 − 157
(x − 2)3 , x ∈ [2, 3]
15 5
g 0 (a) = g 00 (x 0 ) = α
⇔ b 0 + 2c 0 (x 0 − x 0 ) + 3d 0 (x 0 − x 0 )2 = α ⇒ b 0 = α
y 1 − y 0 h0
⇒ − (c 1 + 2c 0 ) = α
h0 3
y1 − y0
⇒ 2h 0 c 0 + h 0 c 1 = 3 − 3α
h0
NỘI SUY VÀ XẤP XỈ HÀM TP. HCM — 2017. 47 / 73
Spline bậc ba Spline bậc ba ràng buộc
g 0 (b) = g n−1
0
(x n ) = β
⇔ b n−1 + 2c n−1 (x n − x n−1 ) + 3d n−1 (x n − x n−1 )2 = β
y n − y n−1 h n−1
⇒ − (c n + 2c n−1 ) + 2c n−1 h n−1 +
h n−1 3
c n − c n−1 2
+3. .h n−1 = β
3h n−1
y n − y n−1
⇒ h n−1 c n−1 + 2h n−1 c n = 3β − 3
h n−1
2h 0 h0 0 ... 0 0
h 0 2(h 0 + h 1 ) h 1 . . . 0 0
A= ... ... ... ... ... ...
0 0 0 . . . 2(h n−2 + h n−1 ) h n−1
0 0 0 ... h n−1 2h n−1
y1 − y0
3 − 3α
h0
y2 − y1 y1 − y0
3 −3
h1 h0
B = ...
y n − y n−1 y n−1 − y n−2
3 −3
h n−1 h n−2
y n − y n−1
3β − 3
h n−1
VÍ DỤ 4.3
Xây dựng spline bậc ba ràng buộc nội suy
x 0 1
bảng số thỏa y 0(0) = 1, y 0(1) = 1.
y 1 1
VÍ DỤ 4.3
Xây dựng spline bậc ba ràng buộc nội suy
x 0 1
bảng số thỏa y 0(0) = 1, y 0(1) = 1.
y 1 1
n = 1, h 0 = 1. Khi đó
y1 − y0
2h 0 c 0 + h 0 c 1 = 3
− 3α
h0
y1 − y0
h 0 c 0 + 2h 0 c 1 = 3β − 3
h0
( (
2c 0 + c 1 = −3 c 0 = −3
⇒ ⇒
c 0 + 2c 1 = 3 c1 = 3
NỘI SUY VÀ XẤP XỈ HÀM TP. HCM — 2017. 52 / 73
Spline bậc ba Ví dụ
Khi k = 0 ta có
a0 = y 0 = 1
y 1 − y 0 h0
b0 = − (c 1 + 2c 0 ) = 1
h 0 3
c 1 − c 0
d0 = = 2,
3h 0
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]
VÍ DỤ 4.4
Xây dựng spline bậc ba ràng buộc nội suy
x 0 1 2
bảng số thỏa điều kiện
y 1 2 1
y 0 (0) = 0, y 0 (2) = 0.
VÍ DỤ 4.4
Xây dựng spline bậc ba ràng buộc nội suy
x 0 1 2
bảng số thỏa điều kiện
y 1 2 1
y 0 (0) = 0, y 0 (2) = 0.
n = 2, h 0 = h 1 = 1, α = β = 0. Hệ số c 0 , c 1 , c 2 được
xác định bởi AC = B với
2h 0 h0 0
A = h 0 2(h 0 + h 1 ) h 1
0 h1 2h 1
y1 − y0
3 − 3α
h0
y2 − y1 y1 − y0
B =
3 −3
h1 h
y 2 − y 10
3β − 3
h1
C = (c 0 , c 1 , c 2 )T
2.c 0 + c 1 + 0.c 2 = 3
c0 = 3
⇒ c 0 + 4c 1 + c 2 = −6 ⇒ c 1 = −3
0.c + c + 2.c = 3
c = 3
0 1 2 2
Khi k =0 ta có
a0 = y 0 = 1
y 1 − y 0 h0
b0 = − (c 1 + 2c 0 ) = 0
h 0 3
c 1 − c 0
d0 = = −2,
3h 0
Khi k =0 ta có
a0 = y 0 = 1
y 1 − y 0 h0
b0 = − (c 1 + 2c 0 ) = 0
h 0 3
c 1 − c 0
d0 = = −2,
3h 0
Khi k =1 ta có
a1 = y 1 = 2
y 2 − y 1 h1
b1 = − (c 2 + 2c 1 ) = 0
h 1 3
c 2 − c 1
d1 = = 2,
3h 1
NỘI SUY VÀ XẤP XỈ HÀM TP. HCM — 2017. 56 / 73
Spline bậc ba Ví dụ
µ ¶
n
P n
P
nA + xk B = yk
k=1 k=1
⇔ µP
n
¶ µ
n
¶
n
P 2 P
xk A + xk B = xk y k
k=1 k=1 k=1
VÍ DỤ 5.1
Tìm hàm f (x) = A + B x 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
VÍ DỤ 5.1
Tìm hàm f (x) = A + B x 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
Giải. Ta có n = 10 và x k2 = 109,
P P P
x k = 29, y k = 39,
k=1 k=1 k=1
n
x k y k = 140. Hệ phương trình để xác định A, B có
P
k=1
dạng
½ ½
10A + 29B = 39 A = 0.7671
⇔
29A + 109B = 140 B = 1.0803
NỘI SUY VÀ XẤP XỈ HÀM TP. HCM — 2017. 62 / 73
Bài toán xấp xỉ hàm thực nghiệm Trường hợp f (x) = A + B x
µ ¶ µ ¶
n n n
P P 2 P
n A + x B + x C = yk
k
k
µ k=1 ¶ µ k=1 ¶ k=1
µP ¶
n n n n
x k2 B + x k3 C =
P P P
⇔ xk A + xk y k
µ k=1 ¶ µk=1 ¶ µ k=1 ¶ k=1
n n n n
2 3 4
x 2 yk
P P P P
x A+ x B+ x C=
k k k k
k=1 k=1 k=1 k=1
VÍ DỤ 5.2
Tìm hàm f (x) = A + B x +C x 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
VÍ DỤ 5.2
Tìm hàm f (x) = A + B x +C x 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
µ ¶ µ ¶
n n n
P 2 P P
p (x ) A + p(x )q(x ) B = p(x k )y
k k k
⇔ µk=1
n
¶ k=1 µ
n
¶ k=1
n
P P 2 P
p(x k )q(x k ) A + q (x k ) B = q(x k )y
k=1 k=1 k=1
VÍ DỤ 5.3
p
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
VÍ DỤ 5.3
p
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
p
Giải. Ta có n = 6, p(x) = x, q(x) = cos(x) và
n n
2
x k = 9, Shift-STO-A
P P
p (x k ) =
k=1 k=1
n
P n p
P
p(x k )q(x k ) = x k . cos(x k ) =
k=1 k=1
0.2080742774, Shift-STO-B.
NỘI SUY VÀ XẤP XỈ HÀM TP. HCM — 2017. 70 / 73
Bài toán xấp xỉ hàm thực nghiệm Trường hợp f (x) = Ap(x) + B q(x)
n
P n
P p
p(x k )y k = x k .y k = 18.14616548,
k=1 k=1
Shift-STO-C.
n n
q 2 (x k ) = cos2 (x k ) = 0.6777701471,
P P
k=1 k=1
Shift-STO-D.
n n
P P
q(x k )y k = cos(x k ).y k = 0.7470806584,
k=1 k=1
Shift-STO-M. Giải hệ phương trình tìm A, B :
( (
A.A + B .B = C A = 2.00498761
⇔
B .A + D.B = M B = 0.48673479
p
Vậy f (x) = 2.0050 x + 0.4867 cos(x).
NỘI SUY VÀ XẤP XỈ HÀM TP. HCM — 2017. 71 / 73
Bài toán xấp xỉ hàm thực nghiệm Trường hợp f (x) = Ap(x) + B q(x)
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 TP. HCM — 2017. 72 / 73
Bài toán xấp xỉ hàm thực nghiệm Trường hợp f (x) = Ap(x) + B q(x)