MATLAB Answers

RDG

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

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


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.


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.


Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply today