interp1在matlab中怎么用

如题所述

  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)
转的 有问题追问
温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-08-16
假设 x= 1 2 3;
y= 2 4 6;

x1= 0.5 1 1.5 2 2.5 3;

那么求y1 对应的量,就是
y1=interp1(x,y,x1);
默认的是线性插值。