Distribution of binary values

9 ビュー (過去 30 日間)
Amitrajit Mukherjee
Amitrajit Mukherjee 2018 年 3 月 29 日
Hi I have a random binary data set [1 1 1 0 0 1 1 1 1 1 0 0 0 0 1 1 0 1 0 1 1 0 0 0 0 1 1 0 1], I want to count how many duration of 1 and 0 are there. Answer will be [3 5 2 1 2 2 1] and [2 4 1 1 4 1] for 1 and 0 respectively..

回答 (1 件)

David Fletcher
David Fletcher 2018 年 3 月 29 日
編集済み: David Fletcher 2018 年 3 月 29 日
test=[1 1 1 0 0 1 1 1 1 1 0 0 0 0 1 1 0 1 0 1 1 0 0 0 0 1 1 0 1]
out=regexp(char(test+48),'[0]+|[1]+','match')
start=test(1)
sz=length(out)
if logical(start)
type1=cellfun(@length,out(1:2:sz))
type0=cellfun(@length,out(2:2:sz))
else
type0=cellfun(@length,out(1:2:sz))
type1=cellfun(@length,out(2:2:sz))
end
type1 =
3 5 2 1 2 2 1
type0 =
2 4 1 1 4 1
Not bothered to add any error handling, but I'm sure you can amend it according to your needs
  4 件のコメント
Amitrajit Mukherjee
Amitrajit Mukherjee 2018 年 4 月 2 日
Can you please tell me what is the use of "char(test+48)" ?
Amitrajit Mukherjee
Amitrajit Mukherjee 2018 年 4 月 2 日
Thank you so much..It works... :)

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeCharacters and Strings についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by