Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个问题,然后我需要你的帮助来解决它。
我有一个矩阵 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)。
idx = all(A<3)
接下来在这些列A(:,idx)中,我们找到包含任何 1: 的行any(A(:,idx)==1,2)。
A(:,idx)
any(A(:,idx)==1,2)
最后我们计算找到了多少这样的行sum(.)
sum(.)
你可以使用类似的东西
sum( (sum(A == 1 ,1) > 0) & ~(sum(A >= 3,1) > 0))