How can I find equal elements in a vector and place them at the end of the vector?

3 vues (au cours des 30 derniers jours)
Hello, how can I find equal elements within a vector, and once I find these repeated elements, place them at the end? for example I have a vector.
vector = [10 22 22 22 30 45 45 20]
the result of the new vector would have to be
newvector = [10 30 20 22 22 22 45 45]
thanks in advance

Réponse acceptée

Chunru
Chunru le 15 Déc 2021
vector = [10 22 22 22 30 45 45 20]';
[GC,GR] = groupcounts(vector);
[GC, idx] = sort(GC);
GR=GR(idx);
newvec = [];
for i=1:length(GR)
newvec =[newvec; vector(vector==GR(i))];
end
newvec
newvec = 8×1
10 20 30 45 45 22 22 22

Plus de réponses (0)

Catégories

En savoir plus sur 2-D and 3-D Plots dans Help Center et File Exchange

Produits


Version

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by