How to get rid of repeating values inside an array
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]
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
Rokki
il 19 Set 2017
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.
Andrei Bobrov
il 19 Set 2017
fixed
Categorie
Scopri di più su Whos in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!