【问题标题】:Selecting only a specific number of rows fulfilling a condition仅选择满足条件的特定行数
【发布时间】:2011-12-28 01:14:54
【问题描述】:

我目前开始使用 octave 进行一些数据分析,但在特定矩阵操作方面遇到了一些问题。

假设您有以下数据矩阵:

一个= 1 11 22 33 44 13 12 33 1 14 33 44

现在我想删除该矩阵中所有未完成的行,例如以下条件。

八度:6> A(:, 4) == 33 答案= 1 1 0

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

A_新 = 1 11 22 33 44 13 12 33

我知道这可以在一些循环的帮助下实现。但是是否有更清洁的解决方案,例如通过使用提供的标准库?那太好了:]

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

【问题讨论】:

    标签: matlab matrix octave


    【解决方案1】:

    试试:

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

    这是使用logical indexing

    【讨论】:

      猜你喜欢
      • 2014-02-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-30
      • 2019-04-24
      相关资源
      最近更新 更多