识别矩阵中的值

时间:2012-07-25 15:45:30

标签: matlab matrix

我遇到了问题,然后我需要你的帮助来解决它。

我有一个矩阵A

A = [ 0 0 1 2 3 4 0;
      1 2 3 4 0 0 0;
      0 0 0 1 2 3 4;
      0 1 2 3 4 0 0]

然后我想知道矩阵A中每行的每个值“1”的数量是多少,它们不在同一列中,矩阵A中每行的每个值“> = 3”。

所以我希望我的回答

Ans = 2

先谢谢。

2 个答案:

答案 0 :(得分:3)

试试这个:

>> num = sum( any(A(:,all(A<3))==1,2) )
num =
     2

首先,我们发现列索引不包含大于或等于3 idx = all(A<3)的值。

接下来在A(:,idx)列中,我们发现包含任何1:any(A(:,idx)==1,2)的行。

最后,我们计算找到了多少这样的行sum(.)

答案 1 :(得分:0)

您可以使用类似

的内容
   sum( (sum(A == 1 ,1) > 0) & ~(sum(A >= 3,1) > 0))