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の各行の各値"1"の数を知りたいです。

だから私は私の答えを望みます

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 に答える