Increase counter for each element in array

2 vues (au cours des 30 derniers jours)
Dario Walter
Dario Walter le 17 Juin 2020
Commenté : Dario Walter le 18 Juin 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!

Réponse acceptée

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

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Matrix Indexing dans Help Center et File Exchange

Tags

Produits


Version

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by