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 版权协议,转载请附上原文出处链接和本声明。