paper 79:MATLAB函数,interp1

在matlab中有一个interp1()函数,可以帮助解决问题,具体情况如下:

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)