我有矩阵:
A=[ 1 2 3 4 5 0 0 0 0 0 0;
0 1 2 3 4 5 0 0 0 0 0;
0 0 0 1 2 3 4 5 0 0 0;
0 0 1 2 3 4 5 0 0 0 0;
0 0 0 0 0 1 2 3 4 5 0;
1 2 3 4 5 0 0 0 0 0 0]
我想从行1
到4
搜索矩阵中的6
数字。我只想知道在它之前的同一索引处的列元素小于3
时的数字。
例如:
在第4
行,数字1
位于第3位,但在前一行中相同位置的行3
中存在值1
。因此,这应该被忽略,然后继续寻找下一个。
在第6
行,条件失败,应该返回。
答案 0 :(得分:2)
怎么样
C = sum( A(4:6,all(A(1:6,:)<3,1)) == 1, 2)
部分B = A(4:6,all(A(1:6,:)<3,1))
提取第4行到第6行,并对所有列应用<3
限制,从第1行到第6行。然后,等同B == 1
并对行进行求和将导致
C = [0
0
1];