How to get rid of repeating values inside an array
3 vues (au cours des 30 derniers jours)
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]
0 commentaires
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
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.
Voir également
Catégories
En savoir plus sur NaNs dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!