Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

To resolve issues starting MATLAB on Mac OS X 10.10 (Yosemite) visit: http://www.mathworks.com/matlabcentral/answers/159016

Finding Duplicate Values per Column

Asked by RDG on 22 Oct 2011
Latest activity Edited by Clemens on 19 Mar 2014

Greetings, suppose Column A has these values - 7 18 27 42 65 49 54 65 78 82 87 98

Is there a way to compare the values (row by row) and search for duplicates? (I'm using Matlab R2010b)I don't want the duplicated values to be removed.

Thanks.

0 Comments

RDG

Tags

Products

No products are associated with this question.

3 Answers

Answer by Jan Simon on 22 Oct 2011
Accepted answer
A = [7 18 27 42 65 49 54 65 78 82 87 98];
[n, bin] = histc(A, unique(A));
multiple = find(n > 1);
index    = find(ismember(bin, multiple));

Now the values A(index) appear mutliple times.

1 Comment

Teik Yee on 19 Nov 2012

thx

Jan Simon
Answer by the cyclist on 22 Oct 2011

Here's a slightly different way:

X = [1 2 3 4 5 5 5 1];
uniqueX = unique(X);
countOfX = hist(X,uniqueX);
indexToRepeatedValue = (countOfX~=1);
repeatedValues = uniqueX(indexToRepeatedValue)
numberOfAppearancesOfRepeatedValues = countOfX(indexToRepeatedValue)

3 Comments

Harold on 13 Apr 2012

Is there a way that I can use this approach for a cell array. Suppose I have a 1x4 cell array and each cell contains a (x,y) co-ordinates. Can I somehow modify your solution to search for duplicate cells and get rid of them?

Yowh on 19 Nov 2012

Harold can you give an example of your cell array variable ?

Jan Simon on 19 Nov 2012

@Yowh: It is unlikely, that Harold listens to comments after 8 months.

the cyclist
Answer by Hannes Greim on 19 Jan 2013

you can use "tabulate" for cell arrays.

1 Comment

Clemens on 19 Mar 2014

Working only for versions after 2012 with the intro of tables.

Hannes Greim

Contact us