MATLAB中Spline插值使用记录

  • Post author:
  • Post category:其他


MATLAB是一款很强大的数据处理软件,它不仅能够将离散的点绘制成一条平滑的曲线,还可以使用工具箱拟合出曲线的函数,使得使用更加方便。我这里只是需要把我的数据点进行插值,使得数据更为密集,所以使用了Spline函数。

使用函数最好看官方的help,但是在MATLAB里面打开是英文,这时候看例子就很重要。

首先看一个例子

x = 0:10;
y = sin(x);
xx = 0:.25:10;
yy = spline(x,y,xx);
plot(x,y,'o',xx,yy)

下面是官方给的结果图。可以看到有圈的是原来的点,可以生成的yy(xx)关于xx的曲线很平滑。

另外也可以使用其他函数调用来使用:比如interp1( )函数,是将一维的插值数据点返回。

打开帮助,可以看到函数的解释。

vq=interp1(x,v,xq)使用线性插值返回特定查询点处一维函数的插值。向量x包含采样点,v包含相应的值v(x)。矢量xq包含查询点的坐标。

如果在同一点坐标处采样了多组数据,则可以将v作为数组传递。数组v的每一列都包含一组不同的一维样本值。

同样的,这个函数也有例子。

x = 0:pi/4:2*pi;

v = sin(x);

xq = 0:pi/16:2*pi;

vq = interp1(x,v,xq,’spline’);

下图所示图像,可以看到通过Spline(样条插值)的方法进行了插值。 下面的函数最后一项是可以选择方法的,这个以后碰到再学习。



版权声明:本文为qq_43596637原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。