MATLAB绘图-绘图前过滤数据

MATLAB绘图-绘图前过滤数据,matlab,matlab-figure,figure,Matlab,Matlab Figure,Figure,我有一个90x2矩阵a,其中a(:,1)是x,a(:,2)是y 我只想绘制y大于BOOM的值。我该怎么做 目前我有 plot(a(:,1),a(:,2)); 还有一件事,我如何显示完整的数字而不是num*10^4?您可以执行以下操作: plot (a(a(:,2)>BOOM,1),a(a(:,2)>BOOM,2)); set(gca, 'YTickLabel', num2cell(get(gca, 'YTick'))) 你可以做: plot (a(a(:,2)>BOOM,1

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

我只想绘制y大于BOOM的值。我该怎么做

目前我有

plot(a(:,1),a(:,2));
还有一件事,我如何显示完整的数字而不是
num*10^4

您可以执行以下操作:

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

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

标准方法是使用
find
制作遮罩。你会先这么做吗

mask = find(a(:,2) > BOOM);
掩码将是第二列超过动臂阈值的索引位置列表。您可以使用它仅从行排序中选择那些条目

plot(a(mask,1), a(mask,2))
您还可以制作一个逻辑掩码,它的工作方式大致相同,有时更方便

至于显示器,你可以试试

format short

标准方法是使用
find
制作遮罩。你会先这么做吗

mask = find(a(:,2) > BOOM);
掩码将是第二列超过动臂阈值的索引位置列表。您可以使用它仅从行排序中选择那些条目

plot(a(mask,1), a(mask,2))
您还可以制作一个逻辑掩码,它的工作方式大致相同,有时更方便

至于显示器,你可以试试

format short

也许我误解了你的第二个问题,你想在控制台上完整显示数字吗?也许我误解了你的第二个问题,你想在控制台上完整显示数字吗?