How to get rid of repeating values inside an array
Afficher commentaires plus anciens
I have a matrix
a=[1 2 3 3 4 4 5];
I want to get rid of values 3 and 4 as they are repeating so that the output becomes
b=[1 2 5]
Réponse acceptée
Plus de réponses (1)
Andrei Bobrov
le 19 Sep 2017
Modifié(e) : Andrei Bobrov
le 21 Sep 2017
v = unique(a);
b = v(histcounts(a,[v(:);v(end)+eps]) == 1);
or
v = unique(a);
b = v(histc(a,v) == 1);
or
aa = sort(a);
t = diff(aa);
b = aa([1 t] & [t 1]);
3 commentaires
Rokki
le 19 Sep 2017
José-Luis
le 19 Sep 2017
histcounts() was introduced with R2014b. You don't need it though. unique() is enough. Andrei was giving you two alternatives.
Andrei Bobrov
le 19 Sep 2017
fixed
Catégories
En savoir plus sur Whos dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!