Compare two matrix row by row and check if at least one row is different, enter the if loop
    15 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    Zarak kh
 el 5 de Nov. de 2019
  
Hello
I have a problem, here is a simple version of my question. Imagine I have two matrix, I want to compare each line of matrixs to find if there is similarity. then if all the rows are the same, it is no need to enter the if loop, but if at least one row is different it is needed to enter the if loop.
A=[6,6.5;6,9]
B=[6,6;2,3;8,7;6,9]
% compare A and B row by roow
% if there is similarity not enter the if loop
% if there is at least one line of A is not the same as B enter if
if %compare A and B line by line, if at least one row id different
    %%    
end
2 comentarios
  the cyclist
      
      
 el 5 de Nov. de 2019
				What you are trying to do is not perfectly clear to me, but I'm confident that the ismember command is what you need.
Respuesta aceptada
  Guillaume
      
      
 el 5 de Nov. de 2019
        if is not a looping statement, it's a branching statement. loops are started by for or while.
Anyway,
if any(ismember(A, B, 'rows'))  %if any of the rows of A are in B
    %do something
else
    %do something else
end
0 comentarios
Más respuestas (1)
  the cyclist
      
      
 el 5 de Nov. de 2019
        The expression
all(ismember(A,B,'row'))
will be true if every row of A is represented in B, and false if not.
1 comentario
Ver también
Categorías
				Más información sobre Loops and Conditional Statements en Help Center y File Exchange.
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!