How to identify array elements that occur more than once ?
Show older comments
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)
Read about unique
find(hist(D,unique(D))>1)
1 Comment
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.
Stephen23
on 21 Dec 2016
>> U = unique(D);
>> U(1<histc(D,unique(D)))
ans =
3 7
1 Comment
Juan Velasquez
on 28 Jan 2021
Do you mind to explain this answer??
Categories
Find more on Loops and Conditional Statements in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!