我有矩阵,40x20。我想删除所有小于a
的元素。
我知道如何使用逻辑索引为列或行执行此操作:
idxToKeep = yourMat(1, :) <= a;
newMat = yourMat(:, idxToKeep);
但如果我得到的idxToKeep
也是一个矩阵怎么办?我可以想象如何使用循环来做,但我不想使用循环。
感谢您的时间
答案 0 :(得分:2)
这是你需要的吗?
idxToKeep=yourMat<=a;
values=yourMat(idxToKeep);
当然,如果您愿意,可以在一行中完成:
values=yourMat(yourMat<=a);
如果你想要矩阵格式的输出:
newMat=yourMat;
newMat(newMat>a)=NaN; %or 0