How to identify array elements that occur more than once ?

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..

Réponses (2)

KSSV
KSSV le 21 Déc 2016
Modifié(e) : KSSV le 21 Déc 2016
Read about unique
find(hist(D,unique(D))>1)

1 commentaire

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.

Connectez-vous pour commenter.

>> U = unique(D);
>> U(1<histc(D,unique(D)))
ans =
3 7

Catégories

En savoir plus sur Loops and Conditional Statements dans Centre d'aide et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by