描述了三次样条插值的matlab编程原理及程序。有多种边界条件可供选择。
数值计算第二次大作业
——验证三次样条函数插值是否有几何不变性
' Y0 0.01087 ' Y7 100
三次样条函数的构造过程如下:
设x1 x2 x3 xn 1 xn共n个插值节点,则经过数据点 x1,y1 , x2,y2 , , xn,yn 的三次样条S x 是一组三次多项式:
S1 x a1 b1 x x1 c1 x x1 2 d1 x x1 3,x x1,x2 ,
23
S2 x a2 b2 x x2 c2 x x2 d2 x x2 ,x x2,x3 ,
(1.1)
3 2
Sn 1 x an 1 bn 1 x xn 1 cn 1 x xn 1 dn 1x xn 1,x xn 1,xn
由节点处的连续性可知:
Si xi yi,Si xi 1 yi 1,i 1,2, n 1.
ai yi,i 1,2, n 1. 23 y2 y1 b1 x2 x1 c1 x2 x1 d1 x2 x1 ,
23 y y bx x cx x dx x n 1n 1nn 1n 1nn 1n 1nn 1 n
由节点处的一阶与二阶光滑性可知:Si' 1 xi Si' xi ,Si" 1 xi Si" xi ,i 1,2, ,n.
(1.2)
2' 0 S1' x2 S2 x2 b1 2c1 x2 x1 3d1 x2 x1 b2
2''
0 Sn 2 xn 1 Sn 1 xn 1 bn 2 2cn 2 xn 1 xn 2 3dn 2 xn 1 xn 2 bn 1(1.3)
""
0 S1 x2 S2 x2 2c1 6d1 x2 x1 2c2
0 S" x S" x 2c 6d x x 2c
n 2n 1n 1n 1n 2n 2n 1n 2n 1