how to compare a single row with remaining all rows of a matrix?
15 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Sivakumaran Chandrasekaran
il 3 Set 2012
Commentato: Jacek
il 25 Ott 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 Commenti
Jan
il 3 Set 2012
What have you tried so far? Which problems occurred? What does "compare" exactly mean?
Risposta accettata
Andrei Bobrov
il 3 Set 2012
Modificato: Andrei Bobrov
il 3 Set 2012
out = ismember(v,v(2,:),'rows');
Più risposte (1)
Azzi Abdelmalek
il 3 Set 2012
Modificato: Azzi Abdelmalek
il 3 Set 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 Commento
Jacek
il 25 Ott 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).
Vedere anche
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!