插值法处理数据(三次样条插值与hermite插值的比较)

样条插值比较复杂,用得也最普遍,网上很多课件都没有完全说清楚,这里把本人认为说得比较清楚的一个课件转载如下:

样条插值产生的原因:

插值法处理数据(三次样条插值与hermite插值的比较)(1)

从这里看出,与hermite插值相比,样条插值要求二阶导数连续,而前者只要求一阶导数存在。二阶导数连续也就是曲率连续,表示这条曲线是光滑的。再看下面一个介绍:

插值法处理数据(三次样条插值与hermite插值的比较)(2)

插值法处理数据(三次样条插值与hermite插值的比较)(3)

插值法处理数据(三次样条插值与hermite插值的比较)(4)

插值法处理数据(三次样条插值与hermite插值的比较)(5)

插值法处理数据(三次样条插值与hermite插值的比较)(6)

插值法处理数据(三次样条插值与hermite插值的比较)(7)

这里S(x)的导数只有n-1个点,是因为第一个点没有左值(x0-0),最后一个点没有右值

(xn 0)。

插值法处理数据(三次样条插值与hermite插值的比较)(8)

插值法处理数据(三次样条插值与hermite插值的比较)(9)

插值法处理数据(三次样条插值与hermite插值的比较)(10)

这里是假设S的二阶导数是一条曲线,然后利用拉格朗日插值法得出的表达式。

插值法处理数据(三次样条插值与hermite插值的比较)(11)

插值法处理数据(三次样条插值与hermite插值的比较)(12)

上图中最后一个表达式将相关数值代入后即得到所求的三次多项式。

插值法处理数据(三次样条插值与hermite插值的比较)(13)

插值法处理数据(三次样条插值与hermite插值的比较)(14)

插值法处理数据(三次样条插值与hermite插值的比较)(15)

插值法处理数据(三次样条插值与hermite插值的比较)(16)

注意上面的讨论,先是在区间[xi,xi 1]上讨论,然后在[xi-1,xi]区间是讨论,也就是一共三个点参加了讨论:xi-1,xi,xi 1。讨论的过程是通过一阶导数连续而进行的。

插值法处理数据(三次样条插值与hermite插值的比较)(17)

插值法处理数据(三次样条插值与hermite插值的比较)(18)

接下来通过边界条件补充缺失的两个条件:

插值法处理数据(三次样条插值与hermite插值的比较)(19)

插值法处理数据(三次样条插值与hermite插值的比较)(20)

插值法处理数据(三次样条插值与hermite插值的比较)(21)

插值法处理数据(三次样条插值与hermite插值的比较)(22)

插值法处理数据(三次样条插值与hermite插值的比较)(23)

这个三弯矩方程用到了三个点的二阶导数。通过上图可以求出来。

插值法处理数据(三次样条插值与hermite插值的比较)(24)

插值法处理数据(三次样条插值与hermite插值的比较)(25)

插值法处理数据(三次样条插值与hermite插值的比较)(26)

举例如下:

插值法处理数据(三次样条插值与hermite插值的比较)(27)

插值法处理数据(三次样条插值与hermite插值的比较)(28)

最后与hermite插值相对比:

插值法处理数据(三次样条插值与hermite插值的比较)(29)

插值法处理数据(三次样条插值与hermite插值的比较)(30)

由上述过程可以看出,hermite插值多项式的求解过程只用到了两个点的数值及它们的导数值,而样条插值则用到了三个点的二阶导数值。

下图是两者程序实现:

插值法处理数据(三次样条插值与hermite插值的比较)(31)

简单总结两者的区别:

1:样条插值要求二阶导数连续,而hermite插值只需要一阶导数存在。

2:样条插值用到三个点,而hermite是两个。

3:样条函数计算一次得出两个三次多项式,而hermite则是一个。

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页