How can compute sequential occurrence of elements in a vector

I would like to compute the number of each sequential sequence in a vector
for example i have x=[ 0 0 0 0 1 1 1 1 1 0 0 0 2 2 2 2 0 0 0 0 0 3 3 3 3 3 3]
So, I need to compute the lengths of the following sequences
[0 0 0 0 1 1 1 1 1]=9 ,
[0 0 0 2 2 2 2]=7,
[0 0 0 0 0 3 3 3 3 3 3]=11.
The expected result is [9 7 11].

 採用された回答

Jan
Jan 2021 年 3 月 7 日
編集済み: Jan 2021 年 3 月 7 日

1 投票

x = [ 0 0 0 0 1 1 1 1 1 0 0 0 2 2 2 2 0 0 0 0 0 3 3 3 3 3 3];
change = [true, diff(x) < 0, true];
index = diff(find(change))

その他の回答 (1 件)

hanadi abbas
hanadi abbas 2021 年 3 月 7 日
編集済み: hanadi abbas 2021 年 3 月 12 日

0 投票

Thanks . That's work!

カテゴリ

ヘルプ センター および File ExchangeMatrices and Arrays についてさらに検索

質問済み:

2021 年 3 月 7 日

編集済み:

2021 年 3 月 12 日

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by