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

4 views (last 30 days)
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

Accepted Answer

Chunru
Chunru on 15 Dec 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

More Answers (0)

Categories

Find more on 2-D and 3-D Plots in Help Center and File Exchange

Products


Release

R2021a

Community Treasure Hunt

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

Start Hunting!