How to get rid of repeating values inside an array
3 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
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 Commenti
Risposta accettata
Più risposte (1)
Andrei Bobrov
il 19 Set 2017
Modificato: Andrei Bobrov
il 21 Set 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 Commenti
José-Luis
il 19 Set 2017
histcounts() was introduced with R2014b. You don't need it though. unique() is enough. Andrei was giving you two alternatives.
Vedere anche
Categorie
Scopri di più su NaNs in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!