仅选择满足条件的特定行数

时间:2011-11-13 13:28:53

标签: matlab matrix octave

我目前开始使用octave进行一些数据分析,并且在特定的矩阵操作方面存在一些问题。

假设您有以下数据矩阵:


    A =

        1   11   22   33
       44   13   12   33
        1   14   33   44

现在我想删除这个矩阵的所有行,这些行没有完成,例如以下条件。


    octave:6> A(:, 4) == 33
    ans =

       1
       1
       0

我会得到这个表单的矩阵,它只选择这些行:


    A_new =

        1   11   22   33
       44   13   12   33

我知道在一些循环的帮助下这是可能的。但是,是否有更清洁的解决方案,使用提供的标准库?那会很棒:]

R也发布了一些类似的问题: In R, select rows of a matrix that meet a condition

1 个答案:

答案 0 :(得分:55)

尝试:

A = [
    1   11   22   33
    44  13   12   33
    1   14   33   44
];
idx = ( A(:,4)==33 );
A_new = A(idx,:)

这是使用logical indexing