How to identify array elements that occur more than once ?

30 vues (au cours des 30 derniers jours)
pavan sunder
pavan sunder le 21 Déc 2016
Commenté : Juan Velasquez le 28 Jan 2021
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
Stephen23
Stephen23 le 21 Déc 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.

Connectez-vous pour commenter.


Stephen23
Stephen23 le 21 Déc 2016
>> U = unique(D);
>> U(1<histc(D,unique(D)))
ans =
3 7

Catégories

En savoir plus sur Get Started with MATLAB dans Help Center 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