三次样条插值三弯矩matlab_三次样条(cubic spline)插值

当已知某些点而不知道具体方程时候,最经常遇到的场景就是做实验,采集到数据的时候,我们通常有两种做法:拟合或者插值。拟合不要求方程通过所有的已知点,讲究神似,就是整体趋势一致。插值则是形似,每个已知点都必会穿过,但是高阶会出现龙格库塔现象,所以一般采用分段插值。今天我们就来说说这个分段三次样条插值。

顾名思义,分段就是把区间[a,b]分成n个区间

equation?tex=%5B%28x_0%2Cx_1%29%2C%28x_1%2Cx_2%29%2C%5Cdots%2C%28x_%7Bn-1%7D%2Cx_n%29%5D ,共有n+1个点,其中两个端点
equation?tex=x_0%3Da%2Cx_n%3Db 。三次样条就是说每个小区间的曲线是一个三次方程,三次样条方程满足以下条件:

1,在每个分段小区间

equation?tex=%5Bx_i%2Cx_%7Bi%2B1%7D%5D 上,
equation?tex=S%28x%29%3DS_i%28x%29 都是一个三次方程

2,满足插值条件,即

equation?tex=S%28x_i%29%3Dy_i+%5Cquad+%28i%3D0%2C1%2C...%2Cn%29

3, 曲线光滑,即

equation?tex=S%28x%29%EF%BC%8CS%27%28x%29%EF%BC%8CS%27%27%28x%29 连续

则这个三次方程可以构造成如下形式:

equation?tex=y%3Da_i%2Bb_ix+%2Bc_ix%5E2+%2Bd_i+x%5E3 这种形式,我们称这个方程为三次样条函数
equation?tex=S_i%28x%29

equation?tex=S_i%28x%29 可以看出每个小区间有四个未知数
equation?tex=%EF%BC%88a_i%2Cb_i%2Cc_i%2Cd_i%EF%BC%89 ,有n个小区间,则有4n个未知数,要解出这些未知数,则我们需要4n个方程来求解。

求解

我们要找出4n个方程来求解4n个未知数

首先,由于所有点必须满足插值条件,

equation?tex=S%28x_i%29%3Dy_i+%5Cquad+%28i%3D0%2C1%2C...%2Cn%29 ,除了两个端点,所有n-1个内部点的每个点都满足
equation?tex=S_i%28x_%7Bi%2B1%7D%29%3Dy_%7Bi%2B1%7D+%5Cquad+S_%7Bi%2B1%7D%28x_%7Bi%2B1%7D%29%3Dy_%7Bi%2B1%7D 前后两个分段三次方程,则有2(n-1)个方程,再加上两个端点分别满足第一个和最后一个三次方程,则总共有2n个方程;

其次,n-1个内部点的一阶导数应该是连续的,即在第 i 区间的末点和第 i+1 区间的起点是同一个点,它们的一阶导数应该也相等,即

equation?tex=S%27_%7Bi%7D%28x_%7Bi%2B1%7D%29%3DS%27_%7Bi%2B1%7D%28x_%7Bi%2B1%7D%29 则有n-1个方程

另外,内部点的二阶导数也要连续,即

  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值