問題があり、それを解決するためにあなたの助けが必要です。
私は行列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の各行の各値"1"の数を知りたいです。
だから私は私の答えを望みます
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))