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

1 visualización (últimos 30 días)
Aditya
Aditya el 15 de En. de 2014
Editada: Azzi Abdelmalek el 15 de En. de 2014
Is there any way to compare two rows in a cell with {nx1} dimensions. Help me!
  1 comentario
Patrik Ek
Patrik Ek el 15 de En. de 2014
what is the data type of the content in the cell?

Iniciar sesión para comentar.

Respuestas (4)

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

David Sanchez
David Sanchez el 15 de En. de 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 comentario
Jos (10584)
Jos (10584) el 15 de En. de 2014
This will error when C{3} and C{4} are of different classes, lengths, etc ..

Iniciar sesión para comentar.


Jos (10584)
Jos (10584) el 15 de En. de 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 el 15 de En. de 2014
Editada: Azzi Abdelmalek el 15 de En. de 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

Categorías

Más información sobre Matrices and Arrays en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by