从矩阵中删除的条件元素

时间:2014-11-12 16:46:16

标签: matlab matrix

我有矩阵,40x20。我想删除所有小于a的元素。

我知道如何使用逻辑索引为列或行执行此操作:

idxToKeep   = yourMat(1, :) <= a;
newMat      = yourMat(:, idxToKeep);

但如果我得到的idxToKeep也是一个矩阵怎么办?我可以想象如何使用循环来做,但我不想使用循环。

感谢您的时间

1 个答案:

答案 0 :(得分:2)

这是你需要的吗?

idxToKeep=yourMat<=a;
values=yourMat(idxToKeep);

当然,如果您愿意,可以在一行中完成:

values=yourMat(yourMat<=a);

如果你想要矩阵格式的输出:

newMat=yourMat;
newMat(newMat>a)=NaN; %or 0