我有一个问题,然后我需要你的帮助来解决它。识别矩阵中的值
我有一个矩阵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
谢谢希望。
我有一个问题,然后我需要你的帮助来解决它。识别矩阵中的值
我有一个矩阵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
谢谢希望。
试试这个:
>> 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(.)
您可以使用类似
sum((sum(A == 1 ,1) > 0) & ~(sum(A >= 3,1) > 0))
@Perchik - 我认为这就是他的意思,虽然它有点令人困惑 - 谢谢你确认这就是你的想法! – jmetz 2012-07-25 16:00:49
所以你要找到所有在它有1列,但不大于2的值? – Perchik 2012-07-25 15:52:28