3

我有一个问题,然后我需要你的帮助来解决它。

我有一个矩阵 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

之前谢谢。

4

2 回答 2

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(.)

于 2012-07-25T16:01:43.013 回答
0

你可以使用类似的东西

   sum( (sum(A == 1 ,1) > 0) & ~(sum(A >= 3,1) > 0))
于 2012-07-25T15:54:14.393 回答