Azzera filtri
Azzera filtri

Increase counter for each element in array

3 visualizzazioni (ultimi 30 giorni)
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!

Risposta accettata

madhan ravi
madhan ravi il 17 Giu 2020
ix = A(:) == unique(A);
B = nonzeros(cumsum(ix) .* ix)
  6 Commenti
madhan ravi
madhan ravi il 18 Giu 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 il 18 Giu 2020
Well done Madhan :). Thanks a lot!

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Creating and Concatenating Matrices in Help Center e File Exchange

Tag

Prodotti


Release

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by