Distribution of binary values

2 visualizaciones (últimos 30 días)
Amitrajit Mukherjee
Amitrajit Mukherjee el 29 de Mzo. de 2018
Comentada: Amitrajit Mukherjee el 2 de Abr. de 2018
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..

Respuestas (1)

David Fletcher
David Fletcher el 29 de Mzo. de 2018
Editada: David Fletcher el 29 de Mzo. de 2018
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 comentarios
Amitrajit Mukherjee
Amitrajit Mukherjee el 2 de Abr. de 2018
Can you please tell me what is the use of "char(test+48)" ?
Amitrajit Mukherjee
Amitrajit Mukherjee el 2 de Abr. de 2018
Thank you so much..It works... :)

Iniciar sesión para comentar.

Categorías

Más información sobre Characters and Strings en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by