MATLAB图 - 在绘图之前过滤数据

时间:2015-05-28 12:46:21

标签: matlab matlab-figure figure

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

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

目前我有

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

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

2 个答案:

答案 0 :(得分:5)

标准方法是使用find制作面具。你会先做那个

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

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

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

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

至于显示器,你可以尝试

format short

答案 1 :(得分:0)

你可以这样做:

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