Effacer les filtres
Effacer les filtres

How to compare two rows in a cell {n x 1}

1 vue (au cours des 30 derniers jours)
Aditya
Aditya le 15 Jan 2014
Is there any way to compare two rows in a cell with {nx1} dimensions. Help me!
  1 commentaire
Patrik Ek
Patrik Ek le 15 Jan 2014
what is the data type of the content in the cell?

Connectez-vous pour commenter.

Réponses (4)

dpb
dpb le 15 Jan 2014
For what definition of compare?
all(x{n,:}==x{m,:})
maybe for n~=m, <N=length(x)?

David Sanchez
David Sanchez le 15 Jan 2014
M = rand(10,1);
C = mat2cell(M,ones(10,1),1); % 10x1 cell
a = C{1}; % content of first cell, a is not a cell, it is a double
b = C{2};
if a == b
disp('they are equal');
else
disp('not equal');
end
% You can do it with no intermediate variables too
if C{3} == C{4}
disp('they are equal');
else
disp('not equal');
end
  1 commentaire
Jos (10584)
Jos (10584) le 15 Jan 2014
This will error when C{3} and C{4} are of different classes, lengths, etc ..

Connectez-vous pour commenter.


Jos (10584)
Jos (10584) le 15 Jan 2014
To see if the elements of a cell are identical, use isequal
C = {1:4 ; 1:2, 1:4}
isequal(C{1},C{2})
isequal(C{1},C{3})
Note that the expression
C{1}==C{2}
will throw an error.

Azzi Abdelmalek
Azzi Abdelmalek le 15 Jan 2014
Modifié(e) : Azzi Abdelmalek le 15 Jan 2014
a={11 2 0 5 2 8 8 1}'
b={1 25 3 6 0 3 12 2}'
s=sign([a{:}]-[b{:}])% if s=-1, a<b, if s=1, a>b, if s=0, a=b

Catégories

En savoir plus sur Operators and Elementary Operations dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by