# find the repetition of matrix rows

9 Ansichten (letzte 30 Tage)
yousef Yousef am 7 Mai 2014
Bearbeitet: Image Analyst am 9 Mai 2014
I want to find out if the row i of mxn matrix is repeated ,the code should give logic 1.Otherwise zero"there are many ways but Im searching for the best one" Thanks
##### 2 Kommentare1 älteren Kommentar anzeigen1 älteren Kommentar ausblenden
José-Luis am 7 Mai 2014

Melden Sie sich an, um zu kommentieren.

### Akzeptierte Antwort

Roberto am 9 Mai 2014
Bearbeitet: Roberto am 9 Mai 2014
a = [1 2 3; 4 5 6;1 2 3; 3 2 4; 1 2 3; 3 2 1; 1 3 2] ;
row2check = 1;
repeated = 0 ;
for i = 1 : size(a,1)
repeated = repeated + prod(double([a(row2check,:)== a(i,:)])) ;
end
fprintf('\n Row number %i is reapeated %i times in matrix!\n\n',row2check,repeated);
##### 0 Kommentare-1 ältere Kommentare anzeigen-1 ältere Kommentare ausblenden

Melden Sie sich an, um zu kommentieren.

### Weitere Antworten (1)

Image Analyst am 9 Mai 2014
Bearbeitet: Image Analyst am 9 Mai 2014
Using ismember() is the usual method. Try this:
m = randi(9, [5000, 3]); % Create sample data.
% For demo, let's make sure row 9 is a repeat.
% In other words, row 9 is a duplicate of row 1.
m(9,:) = m(1,:);
% Let's see if row i is repeated
i = 1; % Could be any number up to size(m, 1);
% Use ismember to find repeated rows.
[lia, locb] = ismember(m, m(i,:), 'rows');
% locb is a logival vector. Find the actual row numbers.
repeatedRows = find(locb)
##### 0 Kommentare-1 ältere Kommentare anzeigen-1 ältere Kommentare ausblenden

Melden Sie sich an, um zu kommentieren.

### Kategorien

Find more on Matrices and Arrays in Help Center and File Exchange

### Community Treasure Hunt

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

Start Hunting!