group equal value in array

Hi,
I have one 1x2048 array with repeated values:
A = [0 0 0 255 255 255 0 0 0 0 0 255 255 255 255 255 0 0 0 0]
and I would like to group similar element so that the output would be this:
B = [0 255 0 255 0]
I need to retain the altenation of the values because at the end of this I need to count how many 255 and 0 are there.
Any help would be much apreciated
Thanks

Respuestas (1)

the cyclist
the cyclist el 4 de Oct. de 2019
Editada: the cyclist el 4 de Oct. de 2019

0 votos

If you get the RunLength utility from the File Exchange, it will give you the output vector you want and the counts, in one function call.
>> [B N] = RunLength(A)
B =
0 255 0 255 0
N =
3 3 5 5 4

Categorías

Más información sobre Data Types en Centro de ayuda y File Exchange.

Preguntada:

el 4 de Oct. de 2019

Editada:

el 4 de Oct. de 2019

Community Treasure Hunt

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

Start Hunting!

Translated by