1

私は行列を持っています:

 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の行列の番号を検索したい。それより前の同じインデックスの列要素が より小さい場合にのみ、その数を知りたいです。463

例えば:

4の番号は 3 番目の位置にありますが、前の行の同じ位置に行1の値が存在します。したがって、これは無視して、次の検索に進む必要があります。31

6で、条件が失敗し、返される必要があります。

4

1 に答える 1

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];
于 2012-08-23T07:40:17.460 に答える