How to get rid of repeating values inside an array
Mostrar comentarios más antiguos
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]
Respuesta aceptada
Más respuestas (1)
Andrei Bobrov
el 19 de Sept. de 2017
Editada: Andrei Bobrov
el 21 de Sept. de 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 comentarios
Rokki
el 19 de Sept. de 2017
José-Luis
el 19 de Sept. de 2017
histcounts() was introduced with R2014b. You don't need it though. unique() is enough. Andrei was giving you two alternatives.
Andrei Bobrov
el 19 de Sept. de 2017
fixed
Categorías
Más información sobre Whos en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!