how to compare a single row with remaining all rows of a matrix?
15 views (last 30 days)
Show older comments
Sivakumaran Chandrasekaran
on 3 Sep 2012
Commented: Jacek
on 25 Oct 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 Comments
Jan
on 3 Sep 2012
What have you tried so far? Which problems occurred? What does "compare" exactly mean?
Accepted Answer
More Answers (1)
Azzi Abdelmalek
on 3 Sep 2012
Edited: Azzi Abdelmalek
on 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 Comment
Jacek
on 25 Oct 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).
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!