Main Content

Comparación de arreglos con operadores relacionales

Los operadores relacionales comparan operandos en términos cuantitativos, con operadores como "menor que", "mayor que" y "no es igual a". El resultado de una comparación relacional es un arreglo lógico que indica las ubicaciones en las que la relación es verdadera.

Estos son los operadores relacionales de MATLAB®.

SímboloEquivalente de funciónDescripción
<lt

Menor que

<=le

Menor que o igual a

>gt

Mayor que

>=ge

Mayor que o igual a

==eq

Igual a

~=ne

No es igual a

Comparación de arreglos

Arreglos numéricos

Los operadores relacionales llevan a cabo comparaciones elemento por elemento entre dos arreglos. Los arreglos deben tener tamaños compatibles para facilitar la operación. Los arreglos con tamaños compatibles se amplían de manera implícita para que sean del mismo tamaño durante la ejecución del cálculo. En los casos más sencillos, los dos operandos son arreglos del mismo tamaño o uno es un escalar. Para obtener más información, consulte Tamaños de arreglos compatibles para operaciones básicas.

Por ejemplo, si compara dos matrices del mismo tamaño, el resultado es una matriz lógica del mismo tamaño con elementos que indican las ubicaciones en las que la relación es verdadera.

A = [2 4 6; 8 10 12]
A =

     2     4     6
     8    10    12
B = [5 5 5; 9 9 9]
B =

     5     5     5
     9     9     9
A < B
ans =

     1     1     0
     1     0     0

De manera similar, puede comparar uno de los arreglos con un escalar.

A > 7
ans =

     0     0     0
     1     1     1

Si compara un vector fila de 1 por N con un vector columna de M por 1, MATLAB amplía cada vector en una matriz de M por N antes de realizar la comparación. La matriz resultante contiene el resultado de la comparación de cada combinación de elementos de los vectores.

A = 1:3
A =

     1     2     3
B = [2; 3]
B =

     2
     3
A >= B
ans =

     0     1     1
     0     0     1

Arreglos vacíos

Los operadores relacionales funcionan con arreglos en los que cualquier dimensión tiene un tamaño de cero, siempre que ambos arreglos tengan tamaños compatibles. Esto significa que, si un arreglo tiene una dimensión de tamaño de cero, el tamaño de la dimensión correspondiente en el otro arreglo debe ser 1 o cero y el tamaño de dicha dimensión en la salida es cero.

A = ones(3,0);
B = ones(3,1);
A == B
ans =

   Empty matrix: 3-by-0

Sin embargo, expresiones como

A == []

devuelven un error si A no es 0 por 0 ni 1 por 1. Este comportamiento es coherente con el resto de operadores binarios, como +, -, >, <, &, | y así sucesivamente.

Para probar arreglos vacíos, utilice isempty(A).

Números complejos

  • Los operadores >, <, >= y <= solo utilizan la parte real de los operandos al realizar comparaciones.

  • Los operadores == y ~= prueban las partes reales e imaginarias de los operandos.

Inf, NaN, NaT y comparaciones de elementos no definidas

  • Los valores de Inf son iguales a los otros valores de Inf.

  • Los valores de NaN no son iguales a ningún otro valor numérico, incluidos otros valores de NaN.

  • Los valores de NaT no son iguales a ningún otro valor de fecha/hora, incluidos otros valores de NaT.

  • Los elementos categóricos no definidos no son iguales a ningún otro valor categórico, incluidos otros elementos no definidos.

Instrucciones lógicas

Utilice operadores relacionales en combinación con los operadores lógicos A & B (AND), A | B (OR), xor(A,B) (XOR) y ~A (NOT), para enlazar instrucciones lógicas más complejas.

Por ejemplo, puede localizar las ubicaciones en las que se obtienen elementos negativos en dos arreglos.

A = [2 -1; -3 10]
A =

     2    -1
    -3    10
B = [0 -2; -3 -1]
B =

     0    -2
    -3    -1
A<0 & B<0
ans =

     0     1
     1     0

Para obtener más ejemplos, consulte Buscar los elementos de un arreglo que cumplen una condición.

Consulte también

| | | | |

Temas relacionados