在Matlab中过滤表格

时间:2016-03-09 16:51:17

标签: matlab filter

如何在Matlab中轻松过滤表格?假设我想过滤一个表,只保留第5列中的值大于30的行。这是如何工作的?

1 个答案:

答案 0 :(得分:4)

您可以像normal logical indexing那样执行此操作。

tbl = table(rand(10,1), rand(10,1), 'VariableNames', {'a', 'b'});

     a          b   
  _______    _______

  0.64432    0.20774
  0.37861    0.30125
  0.81158    0.47092
  0.53283    0.23049
  0.35073    0.84431
    0.939    0.19476
  0.87594    0.22592
  0.55016    0.17071
  0.62248    0.22766
  0.58704     0.4357

现在我们抓住列a大于0.5的所有行(tbl.a > 0.5

tbl(tbl.a > 0.5,:)

     a          b   
  _______    _______

  0.64432    0.20774
  0.81158    0.47092
  0.53283    0.23049
    0.939    0.19476
  0.87594    0.22592
  0.55016    0.17071
  0.62248    0.22766
  0.58704     0.4357

您也可以使用索引列来访问它。

tbl(tbl{:,1} > 0.5,:)

对于您的情况,这将是tbl(tbl{:,5} > 30,:)

有关访问表格数据here的更多信息。