Effacer les filtres
Effacer les filtres

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

15 vues (au cours des 30 derniers jours)
Sivakumaran Chandrasekaran
Commenté : Jacek le 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 commentaires
Azzi Abdelmalek
Azzi Abdelmalek le 3 Sep 2012
wha should be you result? a matrix?
Jan
Jan le 3 Sep 2012
What have you tried so far? Which problems occurred? What does "compare" exactly mean?

Connectez-vous pour commenter.

Réponse acceptée

Andrei Bobrov
Andrei Bobrov le 3 Sep 2012
Modifié(e) : Andrei Bobrov le 3 Sep 2012
out = ismember(v,v(2,:),'rows');
  1 commentaire
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.

Connectez-vous pour commenter.

Plus de réponses (1)

Azzi Abdelmalek
Azzi Abdelmalek le 3 Sep 2012
Modifié(e) : Azzi Abdelmalek le 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 commentaire
Jacek
Jacek le 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).

Connectez-vous pour commenter.

Catégories

En savoir plus sur MATLAB dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by