MATLAB中的一维等距插值函数interp1
其调用格式为: yi= interp1(x,y,xi,'method')
其中
x,y为插值点;
yi为在被插值点xi处的插值结果;
x,y为向量。
'method'表示采用的插值方法,MATLAB提供的插值方法有几种:
'method'是最邻近插值;
'linear'线性插值;
'spline'三次样条插值;
'cubic'立方插值。
缺省时表示线性插值
注意:所有的插值方法都要求x是单调的,并且xi不能够超过x的范围。
例如:在一 天24小时内,从零点开始每间隔2小时测得的环境温度数据分别为
12,9,9,1,0,18 ,24,28,27,25,20,18,15,13,
推测中午12点(即13点)时的温度.
x=0:2:24;
y=[12 9 9 10 18 24 28 27 25 20 18 15 13];
a=13;
y1=interp1(x,y,a,'spline')
结果为: 27.8725
若要得到一天24小时的温度曲线,则:
xi=0:1/3600:24;
yi=interp1(x,y,xi, 'spline');
plot(x,y,'o' ,xi,yi)