How to identify array elements that occur more than once ?

17 ビュー (過去 30 日間)
pavan sunder
pavan sunder 2016 年 12 月 21 日
コメント済み: Juan Velasquez 2021 年 1 月 28 日
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 日
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 日
>> 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??

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

カテゴリ

Help Center および File ExchangeLoops and Conditional Statements についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by