14

考虑我有这个矩阵:

   02, 04, 06, 08, 10, 2
   07, 14, 21, 28, 35, 2
   11, 22, 33, 44, 55, 0
   15, 14, 21, 28, 35, 2

我想拥有相同的矩阵,但只有行带有 last column = 2。所以我想要这个矩阵:

   02, 04, 06, 08, 10, 2
   07, 14, 21, 28, 35, 2
   15, 14, 21, 28, 35, 2

我可以解析所有矩阵,但还有其他方法吗?

编辑

更准确地说,我有一个带有字符串的单元格数组:

   02, 04, Some String, 08, 10, 2
   07, 14, Some String1, 28, 35, 2
   11, 22, Some String1, 44, 55, 0
   15, 14, Some String, 28, 35, 2
4

1 回答 1

31

只需对矩阵的行使用逻辑索引:

row_idx = (A(:, end) == 2);

现在row_idx包含1s 和0s 的逻辑数组,其中1s 的行的最后一个元素等于 2。

现在过滤这些行:

A_filtered = A(row_idx, :);

所有这些步骤通常在单行中执行:

A_filtered = A(A(:, end) == 2, :);
于 2013-01-15T15:57:42.870 回答