The number of consecutive ocurrances in an array
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
I have an array that is shown as: a=[0,0,1,1,1,0,0,1] and I would like to get the number of consecutive ocurrances in it along with the number itself meaning that I would like the output to be b=[2,0,3,1,2,0,1,1] where 0 occurred two consecutive times, 1 occurred three consecutive times, etc. Please help me and thank you in advance.
3 comentarios
John Chilleri
el 1 de Mayo de 2017
The b is a description of vector a:
Two 0s, then three 1s, then two 0s, then one 1.
Respuestas (1)
Guillaume
el 1 de Mayo de 2017
This is trivially achieved with diff and find:
a = [0, 0, 1, 1, 1, 0, 0, 1];
transitions = find(diff(a));
runlengths = diff([0, transitions, numel(a)]);
runvalues = a([transitions, end]);
valuelength = reshape([runlengths; runvalues], 1, [])
1 comentario
Ver también
Categorías
Más información sobre Elementary Math 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!