Clear Filters
Clear Filters

how to compare a single row with remaining all rows of a matrix?

15 views (last 30 days)
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.

Accepted Answer

Andrei Bobrov
Andrei Bobrov on 3 Sep 2012
Edited: Andrei Bobrov on 3 Sep 2012
out = ismember(v,v(2,:),'rows');
  1 Comment
Sivakumaran Chandrasekaran
Your reply matches my requirement exactly. Thanks Andrei bobrov.. And I thank all the people who spend their time to answer my query.

Sign in to comment.

More Answers (1)

Azzi Abdelmalek
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
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).

Sign in to comment.

Categories

Find more on MATLAB in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!