MATLAB - 根据条件提取数组值

时间:2016-10-04 11:48:56

标签: arrays matlab if-statement indexing conditional-statements

我有4x4矩阵A

[1 2 3 4;
 2 2 2 3;
 5 5 5 5;
 4 4 4 4]

我知道如何找到小于4的所有值.A< 4。但我不确定如何写一个' if'声明;三个或更多个值,小于4,包含在同一行中。例如;见上面A(1,:)和A(2,:)符合我的条件。

1 个答案:

答案 0 :(得分:1)

您基本上可以A<4知道哪些更小。如果您想知道哪些行包含小于4的N值,那么您可以执行

rows=find(sum(A<4,2)>=3)

这基本上是这样的:

  • 发现小于4
  • 计算每行中有多少(sum(_,2)
  • 查看他们是否为3人或更多
  • 给出find()
  • 的行索引