De relación

Realizan la comparación de los valores de los operandos elemento-a-elemento, y devuelve una matriz de 0s y 1s donde estarán a uno (1) los elementos donde se cumple la relación y cero (0) donde no se cumple. Al aplicarse elemento-a-elemento, los operandos han de tener las mismas dimensiones y se devuelve una matriz de las mismas dimensiones.

Los operadores disponibles son:

X<Y
Cierto si el valor de X es menor que el de Y
X<=Y
Cierto si el valor de X es menor o igual que el de Y
X>Y
Cierto si el valor de X es mayor que el de Y
X>=Y
Cierto si el valor de X es mayor o igual que el de Y
X==Y
Cierto si el valor de X es igual que el de Y
X!=Y
Cierto si el valor de X es distinto que el de Y
X~=Y
equivalente a X!=Y
X<>Y
equivalente a X!=Y

La matriz de 0s y 1s, resultado de estos operadores, se pueden utilizar para indexar filas o columnas de una matriz.

Ejemplos

Un uso de los operaciones de relación es la indexación:

  • Dado un vector D de datos obtener los elementos del mismo que son mayores o iguales que 5, se obtiene con la expresión D( D>=5 ).

Pero también se pueden utiliza directamente la matriz de 0s y 1s generados:

  • Dada la matriz M obtener una matriz con los mismos valores que M salvo los menores de 7 que tendrán que valer 0. Eso se puede obtener con la expresión (M>=7) .* M

Nota sobre la igualdad

Cuando se aplica la relación de igualdad == a números en punto flotante (sobre todo obtenidos después de varias operaciones) lo más probable es que NO se cumpla, aunque teóricamente los números deberían ser iguales. Esto es debido a los errores de redondeo que introduce el ordenadores al manejar números en punto flotante.

Por ese motivo se debe definir un cierto margen de error (epsilon) dentro del cual consideraremos que los números son iguales.

Por ejemplo

   X == Y

debemos cambiarlo por

   epsilon = 1e-9 
   abs( X -Y ) < epsilon

Obra colocada bajo licencia Creative Commons Attribution Non-commercial Share Alike 3.0 License