# is it possible to detect repeated values in a matrix?how?

45 views (last 30 days)
husot on 21 Jan 2014
Commented: husot on 21 Jan 2014
For example I have a matrix such;
A=[5 13 2 7 1 8; 2 4 5 7 8 23 31;5 65 34 12 31 8]
which has a size (nx6)
If we look through first column, first and third row values are same. I just want to detect the repeated values in the 1st column in all rows. How can I do that?
Thanks

AJ von Alt on 21 Jan 2014
This can be done using hist and unqiue. See How can I count the occurrences of each element in a vector in MATLAB? for more information.
A=[5 13 2 7 1 8; 2 4 5 7 8 23;5 65 34 12 31 8];
% Find the unique values
uniqueVals = unique( A(:,1) );
% Count the number of instances of each of the unique vals
valCount = hist( A(:,1) , uniqueVals )';

Matt J on 21 Jan 2014
length(unique(A(:,1)))<size(A,1)
##### 3 CommentsShow 1 older commentHide 1 older comment
Matt J on 21 Jan 2014
Edited: Matt J on 21 Jan 2014
[U,I]=unique(A(:,1));
repeated = setdiff(1:size(A,1), I),
For your example, this returns 3 because row 3 is a repetition of row 1. If this isn't what you want, see the documentation for UNIQUE. It gives you lots of different options for analyzing repetition.
husot on 21 Jan 2014