三次样条插值 Cubic Spline Interpolation

    • 样条插值
      • 1. 样条插值
      • 2. 三次样条插值
      • 3. 算法总结
    • 参考

样条插值

1. 样条插值

插值样条由两个相邻的数据点决定,在这两个数据点之间是一个多项式,如果这个多项式是三次的,那么就是三次样条插值。

这是一种以可变样条来作出一条经过一系列点的光滑曲线的数学方法。

样条曲线是一个分段的曲线,在每个曲线可以有不同的样条函数。
特点:
a. 分段插值:将全部数据分为若干个部分,在每一个部分中使用分段函数,最后组合很多的不同的函数来表达原来的序列。
b. 衔接性好:通过使用高次样条插值,也就是说在每个分段函数都用高次函数来构造,比如说三次插值,在衔接处具有导数连续可导的性质;

2. 三次样条插值

又称为Cubic Spline Interpolation,简称Spline插值,是通过一系列形值点的一条光滑曲线。

早期工程师制图时,把富有弹性的细长木条(所谓样条)用压铁固定在样点上,在其他地方让它自由弯曲,然后沿木条画下曲线。称为样条曲线。


三次样条函数:函数S(x)∈C2[a,b] ,且在每个小区间[ xj,xj+1 ]上是三次多项式,其中 a =x_0x1<…< xn= b 是给定节点,则称S(x)是节点x0,x1,…xn上的三次样条函数。


三次插值函数,两两数据点中间使用三次多项式函数的形式,并且要求该函数二阶以下均可导的方法。

3. 算法总结

假定有n+1个数据节点 (x0,y0) ( x 0 , y 0 ) , …, (xn,y0) ( x n , y 0 )

a. 计算步长 hi=xi+1xi(i=0,1,...,n1) h i = x i + 1 − x i ( i = 0 , 1 , . . . , n − 1 )
b. 将数据节点和指定的首位端点条件带入矩阵方程矩阵方程

c. 解矩阵方程,求得二次微分值 mi m i 。该矩阵为三对角矩阵,具体求法参见我的上篇文章:三对角矩阵的求解。

d. 计算样条曲线的系数:
样条曲线的系数
其中 i=0,1,,n1 i = 0 , 1 , … , n − 1

e. 在每个子区间 xixxi x i ≤ x ≤ x i 中,创建方程

参考

三次样条插值-百度百科
三次样条插值(Cubic Spline Interpolation)及代码实现(C语言)
三次样条插值-知乎解释

你可能感兴趣的:(笔记)