matlab一维数据插值
1、matlab具有强大的数值分析能力,在给出一系列数据之后,可以使用其来进行数据插值分析,这里介绍几个matlab中的数据插值方法。

2、首先介绍简单的方法。给出一列数据之后,作图如下:
aa= randn(100,1);
plot(aa);
然后在做好的图中找到tools--basic fitting,打开如下对话框。


3、在打开的对话框中有多种数据插值方法,并可以给出插值的公式。
比如我们使用cubic方法:
于是可以看到插值后的曲线和插值公式。

4、matlab中还给出了一维的插值命令,interp1.
我们可以尝试用一下,一维插值相当于给出了xy的公式,比如我们上述命令中,aa的值为y,而aa中对应值的位置就是x。那么我们可以给出bb试试:
bb=1.5:1:99;
cc=interp1(aa,bb);
plot([1:100],aa);hold on;plot(bb,cc);legend('aa','cc');
对比一下插值后的效果。

5、当然,还可以使用其他命令来进行数据插值,
x = 0:pi/4:2*pi;v = sin(x);
xq = 0:pi/16:2*pi;
figurevq1 = interp1(x,v,xq);plot(x,v,'o',xq,vq1,':.');xlim([0 2*pi]);
vq2 = interp1(x,v,xq,'linear')vq3 = interp1(x,v,xq,'pchip')hold on;plot(xq,vq2,'r^');hold on;plot(xq,vq3,'g*');

6、大家可以对比一下上述图形的好坏,然后选择合适的插值方法。
另外,matlab的interp1中还有nearest,next,previous,cubic等插值方法,大家可以尝试。
