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

回答 (2 件)

KSSV
KSSV 2016 年 12 月 21 日
編集済み: KSSV 2016 年 12 月 21 日

1 投票

Read about unique
find(hist(D,unique(D))>1)

1 件のコメント

Stephen23
Stephen23 2016 年 12 月 21 日
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
Stephen23 2016 年 12 月 21 日

1 投票

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

1 件のコメント

Juan Velasquez
Juan Velasquez 2021 年 1 月 28 日
Do you mind to explain this answer??

サインインしてコメントする。

カテゴリ

ヘルプ センター および File ExchangeLoops and Conditional Statements についてさらに検索

タグ

質問済み:

2016 年 12 月 21 日

コメント済み:

2021 年 1 月 28 日

Community Treasure Hunt

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

Start Hunting!

Translated by