20 Spline

You might also like

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

Hàm ghép trơn

Hà Thị Ngọc Yến


Hà nội, 10/2020
BÀI TOÁN
• Cho bộ điểm ( xi , yi )i=1,n
• Tìm hàm ghép
S ( x ) = Sk ( x ) , x   xk , xk +1 

• thoả mãn S k ( x ) là đa thức bậc p, S(x) trơn


đến cấp p – 1.
Spline tuyến tính
• Cho bộ điểm ( xi , yi )i=1,n
• Tìm hàm ghép

S ( x ) = Sk ( x ) , x   xk , xk +1 

• deg Sk ( x ) = 1
Sk ( xk ) = yk = Sk +1 ( xk )
Spline tuyến tính
• Sk ( x ) , x   xk , xk +1  là đa thức nội suy bậc 1
với hai mốc nội suy:
( xk , yk ) , ( xk +1, yk +1 )
− yk ( x − xk +1 ) + yk +1 ( x − xk )
Sk ( x ) = = ak x + bk
hk
yk +1 − yk yk xk +1 − yk xk
ak = ; bk =
hk hk
Spline tuyến tính
3.5

2.5

1.5

0.5

0
0 0.5 1 1.5 2 2.5 3
Spline cấp 2
• Tìm hàm ghép S ( x ) = Sk ( x ) , x   xk , xk +1 

deg Sk ( x ) = 2
Sk ( xk ) = yk = Sk +1 ( xk )
S k ( xk ) = S k +1 ( xk )
' '
Spline cấp 2
• Đặt mk = S k ( xk ) = S k +1 ( xk )
' '

• Khi đó
−mk ( x − xk +1 ) + mk +1 ( x − xk )
Sk ( x ) =
'
hk
−mk ( x − xk +1 ) + mk +1 ( x − xk )
2 2
Sk ( x ) = + k
2hk
−mk hk mk hk
Sk ( xk ) = +  k = yk   k = yk +
2 2
yk +1 − yk
Sk ( xk +1 ) = yk +1  mk +1 + mk = 2 = 1
hk
Spline cấp 2
• Ta thu được hệ n-1 phương trình, n ẩn
1 1 0 1 
 
0 1 1 0 2 
 0 1 1 0 3 
 
 0 1 1 0 4 
 
 
 0 1 1 0  n−2 
 0 1 1  n−1 

Spline cấp 2
• Sk ( x ) = ak x + bk x + ck
2

mk +1 − mk
ak = ;
2hk
mk xk +1 − mk +1 xk
bk = ;
hk
−mk xk +1
2
+ 2
mk +1 xk mk hk
ck = + yk +
2hk 2
Spline tuyến tính
3.5

2.5

1.5

0.5

0
0 0.5 1 1.5 2 2.5 3
Spline cấp 3
• Tìm hàm ghép S ( x ) = Sk ( x ) , x   xk , xk +1 

deg Sk ( x ) = 3
Sk ( xk ) = yk = Sk +1 ( xk )
S k ( xk ) = S k +1 ( xk )
' '

''
Sk ( xk ) = ''
Sk +1 ( xk )
Spline cấp 3
• Đặt  k = S k'' ( xk ) = S k'' +1 ( xk )

• Khi đó
− k ( x − xk +1 ) +  k +1 ( x − xk )
Sk'' ( x) =
hk
− k ( x − xk +1 ) +  k +1 ( x − xk )
2 2
Sk' ( x ) = + k
2hk
− k ( x − xk +1 ) +  k +1 ( x − xk )
3 3
Sk ( x ) = + k x + k
6hk
Spline cấp 3

− k ( x − xk +1 ) +  k +1 ( x − xk )
3 3
Sk ( x ) = +  k ( x − xk ) −  k ( x − xk +1 )
6hk

 k hk2 yk  k hk
Sk ( xk ) = +  k hk = yk   k = −
6 hk 6
 k +1hk2 yk +1  k +1hk
Sk ( xk +1 ) = +  k hk = yk +1   k = −
6 hk 6
Spline cấp 3

− k ( x − xk +1 ) +  k +1 ( x − xk )
2 2
yk +1  k +1hk  yk  k hk 
Sk' ( x ) = + − − − 
2hk hk 6  k
h 6 
− k +1hk +1 yk + 2  k + 2 hk +1  yk +1  k +1hk +1 
Sk' +1 ( xk +1 ) = + − − − 
2 hk +1 6  k +1
h 6 
 k +1hk yk +1  k +1hk y  h 
Sk ( xk +1 ) = + − − k − k k 
2 hk 6 k  hk 6 
Spline cấp 3

Sk' ( xk +1 ) − Sk' +1 ( xk +1 ) = 0
hk +1  hk + hk +1  hk
  k +2 +    k +1 +  k =  k
6  3  6
yk + 2 − yk +1 yk +1 − yk
k = −
hk +1 hk
Spline cấp 3
• Sk' ( xk +1 ) − Sk' +1 ( xk +1 ) = 0

hk +1  hk + hk +1  hk
  k +2 +    k +1 +  k =  k
6  3  6

yk + 2 − yk +1 yk +1 − yk
k = −
hk +1 hk
Spline cấp 3
Hệ n-2 phương trình, n ẩn
 h1 h1 + h2 h2 
6 0 1 
3 6
 
0 h2 h2 + h3 h3 
0 2 
 6 3 6
 
 h3 h3 + h4 h4 
0 0
 6 3 6 3 
 
 
 
 hn−3 + hn−2 
 0
hn−3 hn−2
0
 n−3 
 6 3 6 
 hn−2 hn−2 + hn−1 hn−1 
 0  n−2 
 6 3 6 
Spline cấp 3
Sk•( x ) = ak x3 + bk x 2 + ck x + d k
 k +1 −  k
ak = ;
6hk
3 k xk +1 − 3 k +1 xk
bk = ;
6hk
−3 k xk2+1 + 3 k +1 xk2 yk +1 − yk ( k +1 −  k ) hk
ck = + −
6hk hk 6
 k xk3+1 −  k +1 xk3 yk xk +1 − yk +1 xk ( k +1 xk −  k xk +1 ) hk
dk = + +
6hk hk 6
Spline tuyến tính
3.5

2.5

1.5

0.5

0
0 0.5 1 1.5 2 2.5 3

You might also like