计算方法:三次样条插值原理

无论是牛顿插值还是拉格朗日插值,都只能保证在节点处的函数值没有误差。hermite插值更加复杂,可以保证一阶导数也连续,目前常用的是三次样条插值
在这里插入图片描述

一、三次样条插值概念

  • 不超过3次
  • 节点处无误差
  • 一阶导数和二阶导数节点处无误差

在这里插入图片描述
如果函数值和函数在点的倒数值是已知的,也就是我们有一下的已知条件
在这里插入图片描述
这不就是hermite插值的已知条件吗,我们可以利用Hermite插值先进行一次插值:
在这里插入图片描述
但是此时其实我们是不知道 m i m_i mi的值的,所以我们需要求出他,而现在我们只剩下了一个条件,端点处二阶导数连续:令 h i h_i hi表示 i − i + 1 i-i+1 ii+1区间的长度,将 s ( x ) s(x) s(x)转化成下面的形式
在这里插入图片描述
然后我们求一个二阶导数:
在这里插入图片描述
因为我们的二阶导数需要在端点处连续,也就是说在 [ x i , x i − 1 ] [x_i,x_{i-1}] [xi,xi1]区间的 s ′ ′ ( x i ) s''(x_i) s(xi)要等于区间 [ x i − 1 , x i ] [x_{i-1},x_i] [xi1,xi]上二阶导数的对 x i x_i xi的值,所以我们将上式的下标 i i i换成 i − 1 i-1 i1
在这里插入图片描述
此时我们根据区间端点处二阶导数连续的定义,得到下面的等式:
变化不复杂,就是简单的移相合并而已

在这里插入图片描述
在这里插入图片描述
画圈的部分是我们必须化为1的部分,只有这样我们才能吧 m i m_i mi单独拿出来,进行一系列的化简:
在这里插入图片描述
这不就是一个关于 m i m_i mi的方程组🐴,把它写成下面的形式就更直观了:
在这里插入图片描述
共有𝑛 + 1个未知数,𝑛 − 1个方程,好像不能解,所以我们仍然需要其他的计算条件,不妨考虑一下边界( x 0 , x n x_0,x_n x0,xn)的情况:(注意 m i m_i mi的定义,他表示的是一阶导数值),以下是可能给出的两种边界条件,只要有任意一种边界条件给出,我们就可以多出两个等式,就可以解了。tips:注意我们上面有两个二阶导数的公式,一个的参数是 x − x^- x,另一个是 x + x^+ x+,对 x 0 x_0 x0而言我们要带入 s ′ ′ ( x 0 + ) s''(x_0^+) s(x0+),只能在 x 0 x_0 x0的右端点计算二阶导数。相反对于 x n x_n xn,我们只能带入 s ′ ′ ( x n − ) s''(x_n^-) s(xn)也就是在左端点处计算二阶倒数。( x n x_n xn再往右就没有定义了)
在这里插入图片描述
具体带入的过程:
在这里插入图片描述
然后我们就能得到一个可解的方程组“
在这里插入图片描述
然后我们用 追赶法求解三对角方程组
在这里插入图片描述
在这里插入图片描述

算法总结

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 7
    点赞
  • 54
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值