次の論理ベクトルがあります。
vect1 = [0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 0 0 1 1 0 0 0 1]
1
このベクトル内のすべての値「クラスター」を、開始インデックスと終了インデックスと共に見つけたいと思います。出力のために、私は次のようなものを考え出すことができるようにしたいと思います:
5 8
13 15
18 19
23 23
ここで、最初の数字は各クラスターの「開始」インデックスで、2 番目の数字は各クラスターの「終了」インデックスです。
編集:これをShaiの回答の修正版で動作させることができました:
pv = [vect1 0];
sv = [0 pv(1:(end-1))];
ev = [pv(2:end) 0];
starting = find( pv - sv == 1 )
ending = find( pv - ev == 1 )