how to remove unique values.

조회 수: 13 (최근 30일)
danny
danny 2013년 10월 3일
댓글: Cedric 2013년 10월 3일
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

채택된 답변

Cedric
Cedric 2013년 10월 3일
편집: Cedric 2013년 10월 3일
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
danny
danny 2013년 10월 3일
This is a fantastic solution! Many thanks for your help!
Cedric
Cedric 2013년 10월 3일
You're welcome!

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

Community Treasure Hunt

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

Start Hunting!

Translated by