[转载]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)
原文地址:https://www.cnblogs.com/lordcheng/p/7813810.html