Find indices of repetitive values

13 ビュー (過去 30 日間)
Mukund
Mukund 2017 年 11 月 11 日
編集済み: Jan 2021 年 10 月 24 日
In array a=[1,1,1,2,3,4,3]. I want to find indices of repeating (duplicate) values. Finally want to get the repeating value. Short code with commands such as "unique" and "find" is expected.
  1 件のコメント
Jan
Jan 2017 年 11 月 11 日
What is the wanted output? Is this your homework? What have you tried so far?

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

採用された回答

Jan
Jan 2017 年 11 月 11 日
編集済み: Jan 2021 年 10 月 24 日
[B, N, Index] = RunLength(sort(a));
repeated = B(N > 1)
This is the list of values, which occur more than once.
Or:
au = unique(a);
[N, Edge] = histcounts(a, [au, au(end) + 1]);
repeated = au(N > 1)
  6 件のコメント
Image Analyst
Image Analyst 2017 年 11 月 12 日
mukund, no that does not clarify, it just says what you originally said. So in my example a=[1,1,1,2,3,4,3, 1,4,4,2,2,3] let's consider the 4th 1. Is that a repeat? It's a repeat of the 1's in the first group, but it's in its own group. And the 1 in the second group of 1 is not repeated in its group - there is just one 1, not multiple 1's in the second group. I asked for the output of my example but you did not give it so I don't know how to help you in the general purpose situation.
Mukund
Mukund 2017 年 11 月 12 日
@Jan- Your guess of my expectation is right and this is the required code. Many thanks. I myself tried it in many ways, but no success. Thanks again.
@Image Analyst- Sorry for communication gap from my side. However, Thanks to you for your efforts.

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

その他の回答 (1 件)

Image Analyst
Image Analyst 2017 年 11 月 11 日
編集済み: Image Analyst 2017 年 11 月 11 日
Use findgroups():
a=[1,1,1,2,3,4,3]
groups = findgroups(a)
Then histogram it to find groups with more than 1 count.

カテゴリ

Help Center および File ExchangeLogical についてさらに検索

タグ

製品

Community Treasure Hunt

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

Start Hunting!

Translated by