插值函数总结(上篇)

Posted Jeossirey

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了插值函数总结(上篇)相关的知识,希望对你有一定的参考价值。

Matlab中的插值函数为interp1,其调用格式为:

y1=interp1(x,y,x1,'method')

其中x,y为插值点,y1为在被插值点x1处的插值结果;x,y为向量, 'method'表示我们所采用的插值方法,MATLAB提供的插值方法有以下几种: 'method'是最邻近插值; 'linear'线性插值; 'spline'三次样条插值; 'cubic'立方插值;缺省时表示线性插值。

友情提示:所有的插值方法都要求x1是单调的,并且x1不能够超过x的范围。接下来我们通过一个案例来跟大家说明一下。

我们以成都市现阶段的气温为例,从零点开始每间隔2小时测得13组大气温度数据:

12 9 10 9 18 24 28 27 25 20 18 15 13

接下来我们结合以上数据通过插值的方法来推算出13点这个时刻的大气温度:

x=0:2:24;
y=[12 9 10 9 18 24 28 27 25 20 18 15 13];
x1=13;
y1=interp1(x,y,x1,'spline')

推算结果为:

y1 = 27.8839

这样的话我们就完成了对13点这个时刻成都市大气温度的推测。

那么如果我们想得24个小时的大气温度曲线,可以通过以下代码实现:

x=0:2:24;
y=[12 9 10 9 18 24 28 27 25 20 18 15 13];
x1=0:1/3600:24;
y1=interp1(x,y,x1,'spline');
plot(x,y,'o',x1,y1)

这样的话就根据我们所测得的13组x和y的数据绘制出了24个小时的大气温度曲线:

给大家举了一个案例之后 ,在下一篇我们来看一下每个命令的底层逻辑。

以上是关于插值函数总结(上篇)的主要内容,如果未能解决你的问题,请参考以下文章

插值函数总结(下篇之三维插值案例)

插值函数总结(下篇之一维插值)

c_cpp 这个简单的代码片段显示了如何使用有符号整数在C中完成插值。 for()循环确定要插入的范围

插值函数总结(下篇之二维插值)

插值相关总结

如何在片段着色器中找到 4 个顶点之间的插值位置?