x=0:2*pi;y=sin(x);xx=0:0.5:2*pi;%interp1对sin函数进行分段线性插值,调用interp1的时候,默认的是分段线性插值y1=interp1(x,y,xx);figureplot(x,y,'o',xx,y1,'r')title('分段线性插值')%临近插值y2=interp1(x,y,xx,'nearest');figureplot(x,y,'o',xx,y2,'r');title('临近插值')%球面线性插值y3=interp1(x,y,xx,'spline');figureplot(x,y,'o',xx,y3,'r')title('球面插值')%三次多项式插值法y4=interp1(x,y,xx,'cubic');figureplot(x,y,'o',xx,y4,'r');title('三次多项式插值')1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.
方法 | 说明 | 连续性 | 注释 |
'linear' | 线性插值。在查询点插入的值基于各维中邻点网格点处数值的线性插值。这是默认插值方法。 | C0 | 需要至少 2 个点。 比最近邻点插值需要更多内存和计算时间。 |
'nearest' | 最近邻点插值。在查询点插入的值是距样本网格点最近的值。 | 不连续 | 需要至少 2 个点。 最低内存要求 最快计算时间 |
'next' | 下一个邻点插值。在查询点插入的值是下一个抽样网格点的值。 | 不连续 | 需要至少 2 个点。 内存要求和计算时间与 'nearest' 相同 |
'previous' | 上一个邻点插值。在查询点插入的值是上一个抽样网格点的值。 | 不连续 | 需要至少 2 个点。 内存要求和计算时间与 'nearest' 相同 |
'pchip' | 保形分段三次插值。在查询点插入的值基于邻点网格点处数值的保形分段三次插值。 | C1 | 需要至少 4 个点。 比 'linear' 需要更多内存和计算时间 |
'cubic' | 用于 MATLAB® 5 的三次卷积。 | C1 | 需要至少 3 个点。 点必须均匀间隔 对于不规则间隔的数据,此方法会回退到 'spline' 插值 内存要求和计算时间与 'pchip' 相似 |
'v5cubic' | 与 'cubic' 相同。 | C1 | |
'makima' | 修正 Akima 三次 Hermite 插值。在查询点插入的值基于次数最大为 3 的多项式的分段函数。为防过冲,已修正 Akima 公式。 | C1 | 需要至少 2 个点。 产生的波动比 'spline' 小,但不像 'pchip' 那样急剧变平 计算成本高于 'pchip',但通常低于 'spline' 内存要求与 'spline' 类似 |
'spline' | 使用非结终止条件的样条插值。在查询点插入的值基于各维中邻点网格点处数值的三次插值。 | C2 | 需要至少 4 个点。 比 'pchip' 需要更多内存和计算时间 |
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删