Count the adjacent same elements in a vector
Ältere Kommentare anzeigen
Hello! Assume we have a vector of A=[1 1 1 2 2 3 3 3 3 3 1 1]. A has three 1, two 2, five 3 and two 1.
I need to create a vector, such as B=[3 2 5 2] and their corresponding value C=[1 2 3 1].
Maybe i should use a struct, not sure. Glad for some help :/
thx.
Akzeptierte Antwort
Weitere Antworten (1)
Jos (10584)
am 1 Jul. 2019
This is call run-length encoding, for which you can find excellent function on the File exchange. For instance, [shameless self promotion ;-) ], this one: https://uk.mathworks.com/matlabcentral/fileexchange/56131-runindex
A = [1 1 1 2 2 3 3 3 3 3 1 1]
[~, RLE] = runindex(A)
B = RLE(:,3)
C = RLE(:,1)
1 Kommentar
ayça kepçe
am 9 Jul. 2019
Kategorien
Mehr zu Data Types finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!