【问题标题】:how to make matrix plot smooth in matlab如何在matlab中使矩阵图平滑
【发布时间】:2013-12-23 02:53:25
【问题描述】:

如上图。怎样才能让画面更流畅。或者缩小y轴的范围。

数据来自二维矩阵。

然后我用plot('data')进行绘图

请随意提出任何想法。

【问题讨论】:

标签: matlab plot


【解决方案1】:

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

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

现在,生成“平滑”数据的一种方法是对数据点之间的曲线(不再是直线)使用非线性插值。我们可以使用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-')

这实际上归结为根本不是 MATLAB 技巧 -- 只是绘制插值数据。但是,问问自己,如果只绘制实际数据会更好。 plot 只是连接点是有充分理由的!

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

ylim([yMin yMax])

【讨论】:

    猜你喜欢
    • 2013-11-07
    • 1970-01-01
    • 1970-01-01
    • 2012-11-24
    • 2011-10-21
    • 2018-12-02
    • 2023-03-11
    • 2014-03-16
    • 1970-01-01
    相关资源
    最近更新 更多