たとえば、論理値のみを含むベクトルがあるとします。
V = [1 0 1 0 1 1 1 1 0 0]
S
の「ストリーク」ベクトルを返す関数をMATLABで記述したいと思いますV
。ここで、S(i)は、V(i)までのVの連続する1の数を表します。上記の例では、ストリークベクトルは次のようになります。
S = [0 1 0 1 0 1 2 3 4 0]
非常に大きな行列に対してこれを実行する必要があることを考えると、ベクトル化/効率化されたソリューションをいただければ幸いです。