【问题标题】:MATLAB plot- Filtering data before plottingMATLAB plot- 绘图前过滤数据
【发布时间】:2015-05-28 12:46:20
【问题描述】:

我有一个 90x2 矩阵 a,其中 a(:,1) 是 x,a(:,2) 是 y。

我只想绘制 y 大于 BOOM 的值。我怎样才能做到这一点?

目前我有

plot(a(:,1),a(:,2));

还有一件事,我怎样才能显示完整的数字而不是num*10^4

【问题讨论】:

    标签: matlab matlab-figure figure


    【解决方案1】:

    标准方法是使用find 制作掩码。你会先这样做

    mask = find(a(:,2) > BOOM);
    

    掩码将是第二列超过 BOOM 阈值的索引位置列表。您可以使用它从行排序中仅选择那些条目

    plot(a(mask,1), a(mask,2))
    

    你也可以制作一个逻辑掩码,它的工作方式大致相同,有时更方便。

    至于显示你可以试试

    format short
    

    【讨论】:

    • 也许我误解了你的第二个问题,你想在控制台上显示完整的数字吗?
    【解决方案2】:

    你可以这样做:

    plot (a(a(:,2)>BOOM,1),a(a(:,2)>BOOM,2));
    set(gca, 'YTickLabel', num2cell(get(gca, 'YTick')))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-13
      • 1970-01-01
      • 2014-09-06
      • 1970-01-01
      • 2020-02-20
      • 1970-01-01
      相关资源
      最近更新 更多