插值函数总结(上篇)
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个小时的大气温度曲线:
给大家举了一个案例之后 ,在下一篇我们来看一下每个命令的底层逻辑。
以上是关于插值函数总结(上篇)的主要内容,如果未能解决你的问题,请参考以下文章