Increase counter for each element in array

2 Ansichten (letzte 30 Tage)
Dario Walter
Dario Walter am 17 Jun. 2020
Kommentiert: Dario Walter am 18 Jun. 2020
Hey,
given A = [1 1 3 4 5 6 6 7 7 7]. How could I return the sequence B =[1 2 1 1 1 1 2 1 2 3] such that each duplicate is counted and B is the same size as A?
I appreciate your help!

Akzeptierte Antwort

madhan ravi
madhan ravi am 17 Jun. 2020
ix = A(:) == unique(A);
B = nonzeros(cumsum(ix) .* ix)
  6 Kommentare
madhan ravi
madhan ravi am 18 Jun. 2020
I knew you would come up with that question. That’s why you should experiment with 'stable' option in unique function.
Dario Walter
Dario Walter am 18 Jun. 2020
Well done Madhan :). Thanks a lot!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange

Tags

Produkte


Version

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by