Professional Documents
Culture Documents
(Muchong Com) NA002c
(Muchong Com) NA002c
定义 设 a x0 x1 ... xn b S ( x ) 。三次样条
C 2 [a , b ]
函数 [ x i , x i 1 ] ,
且在每个S ( x i ) f ( x i ), ( i 上为三次多项式
0, ... , n) /* cubic polynomial */ 。
若它同时还满足 ,
则称为 f 的三次样条插值函数
注:三次样条与分段 cubic spline interpolant */.
Hermite /*插值的根本区别在于 S(x)
自身光滑,不需要知道 f 的导数值(除了在 2 个端点可
能需要);而 Hermite 插值依赖于 f 在所有插值点的导数
值。
f(x) H(x)
S(x)
§6 Cubic Spline
构造三次样条插值函数的三弯矩法
/* method of bending moment */
在 [ x j 1 , x j ] h j x j x j 对应力学中的梁弯矩,故名
1 , S( x) S
[ j]
( x ) for x [ x j 1 , x j ]
上,记
则 S[j]”(x) 为1 次多项式,需
2 个点的值确定之。
设 S[j]”(xj1) = Mj1 , S[j]”(xj) = Mj 对于 x [xj1, xj ] 可得到
对每个 j, 此为x 3次多项式 x x x j 1
j
S ”(x) = M j 1 h
[j] Mj
h j j
( x x ) 2
( x x ) 2
S[j]’(x) = M j 1 j M j 1 j 1
Aj
利用已知 S
2h j 2h j
(xj1) = yj1 S
[j]
(xj) = yj
[j]
( x j x) ( x x j 1 )
3 3
S[j](x) = M j 1 Mj Aj x B j 可解
6hj 6hj
§6 Cubic Spline
yj yj1 Mj Mj1 M j 1 2 x j x M j 2 x x j 1
Aj hj Aj x Bj ( y j 1 hj ) ( yj hj )
hj 6 6 hj 6 hj
下面解决 Mj :利用 S’ 在 xj 的连续
性 ( x x)
2
( x x )
2
Mj Mj1
[xj1, xj ]: S ’(x) = Mj1 Mj f [x j1 , x j ]
j j 1
[j] hj
2hj 2hj 6
( x x)
2
( x x )
2
Mj1 Mj
[xj , xj+1]: S ’(x) = Mj
[j+1] j 1
Mj1 j
f [ x j , x j1 ] hj1
2hj1 2hj1 6
注:另有三转角法得到样条函数,即设 S[j]’(xj) = mj ,则
易知 [xj1, xj ] 上的 S[j](x) 就是 Hermite 函数。再利用
S” 的连续性,可导出关于 mj 的方程组,加上边界条
件即可解。
Cubic Spline 由 boundary conditions 唯一确定。
max hi
收敛性:若f C[a , b] min hi ,且
C
一致 ,则
S(x) f(x) as max hi 0
即 : 提高精度只须增加节点 , 而无须提高样条阶数。
稳定性:只要边条件保证 | 0 |, | 0 |, | n |, | n | < 2 ,
则方程组系数阵为 SDD 阵,保证数值稳定。
§6 Cubic Spline
例 . 已知数据表
xi 1 2 4 5
yi 1 3 4 2
求满足自然边界条件 S " (1) S " ( 5) 0的三次样条函数
S ( x ), f ( 3并计算
) 的近似值。
解:作差商表
i xi yi f [ x i , x i 1 ] f [ x i , x i 1 , x i 2 ]
0 1 1
1 2 3 2
2 4 4 0 .5 0.5
3 5 2 2 0.83333
§6 Cubic Spline
由自然边界条件得,M 0 M 3 0, 故有
2 1 M 1 3
u [ ]
2 2 M 2 4.99998
其中
h2 2 h2 2
1 0.66666 u2 0.66666
h1 h2 1 2 h2 h3 2 1
解此方程组得
M 1 0.750001 M 2 0.249999
可以求得 3
(4 x ) ( x 2) 3
S ( x ) 0.750001 2.249999
12 12
4 x x2
3.500001 5.499999
2 2
在上式中,令 x 3 , 得
f ( 3) S ( 3) 4.25000
HW: p.50 #15, #16
§6 Cubic Spline
插值法小结
Lagrange : 给出 y0 … yn ,选基函数 li(x) ,其次数为
节点数 – 1 。
Newton Ln(x) ,只是形式不同;节点等距或渐增节点
时方便处理。
Hermite : 带导数插值条件。
Spline :分段低次 , 自身光滑 , f 的导数只在边界给出。