how to compare a single row with remaining all rows of a matrix?
15 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Sivakumaran Chandrasekaran
am 3 Sep. 2012
Kommentiert: Jacek
am 25 Okt. 2015
my input matrix is v=[1 2 3 4 5;3 4 7 8 9;6 4 8 7 9;3 4 7 8 9;3 2 9 8 4]; I am taking second row alone. I have to compare it with all the remaining rows. How to do it. Suggest me simple code which has few lines.
2 Kommentare
Jan
am 3 Sep. 2012
What have you tried so far? Which problems occurred? What does "compare" exactly mean?
Akzeptierte Antwort
Andrei Bobrov
am 3 Sep. 2012
Bearbeitet: Andrei Bobrov
am 3 Sep. 2012
out = ismember(v,v(2,:),'rows');
Weitere Antworten (1)
Azzi Abdelmalek
am 3 Sep. 2012
Bearbeitet: Azzi Abdelmalek
am 3 Sep. 2012
v=[1 2 3 4 5;3 4 7 8 9;6 4 8 7 9;3 4 7 8 9;3 2 9 8 4]
v2=v(2,:);
comp=any(bsxfun(@minus,v,v2),2))
%the result:
comp=1 0 1 0 1
that means that fourth row (comp(4)=0) is equal to the second row
1 Kommentar
Jacek
am 25 Okt. 2015
For the future generations: I tested both solutions and solution proposed by Azzi is much faster, exactly 9x faster in my application, what was very important for me (large-scale data structures reorganization).
Siehe auch
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!