假设我有八度矩阵
A = [2 3 5;
5 6 7;
8 9 10;
1 2 5]
现在我想只得到最后一列所说的等于5的行。我想知道是否有内置函数,因为现在我正在这样做。
collection = [];
for i = 1 : size(matrix,1),
if(matrix(i,3) == 5),
collection = [collection; matrix(i,:)];
end
end
如果存在单列矩阵的这种方法,我会没事的。
答案 0 :(得分:2)
您可以使用最后一列的逻辑索引来执行此操作,例如
A(:,end) == 5
返回一个逻辑矩阵,对于您想要的行,该矩阵为true,否则为false。我们可以用它来选择像这样的行
ind = A(:,end) == 5;
A(ind,:);
你甚至可以直接进行内联:
A(A(:,end)==5,:)