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일

0 개 추천

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개)

질문:

2013년 10월 3일

댓글:

2013년 10월 3일

Community Treasure Hunt

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

Start Hunting!

Translated by