如何在matlab中使矩阵图平滑

时间:2013-10-18 01:53:57

标签: matlab plot

enter image description here

如上图所示。如何使图片更加流畅。或者缩小y轴的范围。

数据来自2D矩阵。

然后我用plot('data')

绘图

请随意提出任何想法。

1 个答案:

答案 0 :(得分:2)

平滑线的一种方法涉及采样点之间的数据的非线性插值。当你执行plot(x,y,'o-')时,MATLAB会自动绘制一个连接点样式的分段线性系列。但是,您可以在没有自动连接线的情况下进行绘图,仅使用数据点的标记,并绘制自己的平滑系列(或仅绘制平滑的系列!)。例如,从默认连接线开始:

x = 1:10;
y = rand(numel(x),1);
plot(x,y,'r-o')

enter image description here

现在,生成“平滑”数据的一种方法是对数据点之间的曲线(不再是直线)使用非线性插值。我们可以使用interp1'cubic'插值方法来执行此操作:

xx = 1:0.1:10; % line is inherently higher sample rate
yy = interp1(x,y,xx,'cubic');
plot(x,y,'bo',xx,yy,'k-')

enter image description here

这真正归结为不是MATLAB技巧 - 只是绘制插值数据。但是,问问自己是否最好只绘制实际数据。 plot只是连接点的原因很充分!

关于y轴范围,您可以通过ylim设置最小值和最大值而不触及x轴,如下所示,

ylim([yMin yMax])