首页 文章

如何从矩阵中获取选择行并在八度音程中形成一个新矩阵?

提问于
浏览
1

假设我有八度矩阵

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

如果存在单列矩阵的这种方法,我会没事的 .

1 回答

  • 2

    例如,您可以使用最后一列上的逻辑索引来执行此操作

    A(:,end) == 5
    

    返回一个逻辑矩阵,对于您想要的行,该矩阵为true,否则为false . 我们可以使用它来选择这样的行

    ind = A(:,end) == 5;
    A(ind,:);
    

    你甚至可以直接进行内联:

    A(A(:,end)==5,:)
    

相关问题