how to remove unique values.

3 visualizaciones (últimos 30 días)
danny
danny el 3 de Oct. de 2013
Comentada: Cedric el 3 de Oct. de 2013
Hi,
I have a vector with some repeating values, and some unique.
e.g. A = [ 1 1 2 4 4 3 4 1 5 3]
How do i remove the unique values and get this:
ans = [1 3 4]
i.e. if there are duplicates of a value, keep one copy of that value. uniques are not wanted.
i can easily use unique to remove the duplicates but i also want to remove the values that appeared once.
Thanks,
Danny

Respuesta aceptada

Cedric
Cedric el 3 de Oct. de 2013
Editada: Cedric el 3 de Oct. de 2013
Assuming that elements of A are integers greater or equal to 1, you could do something like:
>> nonUniqueValues = find( accumarray(A.', ones(size(A))) > 1 )
nonUniqueValues =
1
3
4
EDIT: we could also imagine an approach based on diff(sort(A))==0, but I prefer the approach above.
  2 comentarios
danny
danny el 3 de Oct. de 2013
This is a fantastic solution! Many thanks for your help!
Cedric
Cedric el 3 de Oct. de 2013
You're welcome!

Iniciar sesión para comentar.

Más respuestas (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by