How to identify array elements that occur more than once ?

16 views (last 30 days)
For example D=[1 2 3 3 3 4 5 6 7 7 8]
I want to identify the elements that occur more than once.
The expected answer with respect to the above example Would be [ 3 7].
How do i do it in matlab. I can use for loop but i want to find out is there a better approach..

Answers (2)

KSSV
KSSV on 21 Dec 2016
Edited: KSSV on 21 Dec 2016
Read about unique
find(hist(D,unique(D))>1)
  1 Comment
Stephen23
Stephen23 on 21 Dec 2016
This answer does not return the values as requested, e.g.:
>> D = [2 3 3 3 4 5 6 7 7 8];
>> find(hist(D,unique(D))>1)
ans =
2 6
See my answer for the correct code.

Sign in to comment.


Stephen23
Stephen23 on 21 Dec 2016
>> U = unique(D);
>> U(1<histc(D,unique(D)))
ans =
3 7

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!