4. Operadores relacionales y lógicos

Los operadores relacionales comparan los elementos de dos arreglos y devuelven los valores lógicos de verdadero o falso para indicar dónde se guarda la relación.

Como entradas a las expresiones relacionales y lógicas, Matlab considera que cero es falso y que cualquier número distinto de cero es verdadero. La salida de expresiones de este tipo produce 1 si es verdadero y 0 si es falso.

4.1.       Operadores relacionales.

En la tabla 6 se resumen los operadores especiales de Matlab.

Tabla 6. Operadores relacionales.

Operador.Significado.
Menor que.
<=Menor o igual que.
Mayor que.
>=Mayor o igual que.
==Igual a.
~=Distinto de.

La salida de las operaciones lógicas se puede utilizar en operaciones matemáticas.

4.2.       Operadores lógicos.

En la tabla 7 se resumen los operadores lógicos de Matlab.

Tabla 7. Operadores lógicos.

Operador.Significado.
&Y
|O
~No

Matlab representa los datos booleanos empleando el tipo de datos lógicos. Este tipo de datos representa los estados true (verdadero) y false (falso) mediante el uso de los números 1 y 0 respectivamente. Determinadas funciones y operadores de Matlab devuelven valores lógicos para indicar que se cumple una condición. Es posible usar dichos valores lógicos para indexar un arreglo o ejecutar código condicional. Estas funciones se resumen en la tabla 8.

Tabla 8. Funciones con respuestas lógicas.

Función.Significado.
xor (x,y)Operación “o” exclusiva, devuelve 0 si ambas son falsas o ambas verdaderas y devuelve 1 si una es falsa y la otra verdadera.
any (x)Devuelve 1 si algún elemento es un vector x es no nulo y devuelve 0 si son todos nulos, si se trata de una matriz da una respuesta por cada columna.
all (x)Devuelve 1 si todos los elementos en un vector x son no nulos y 0 si existe alguno nulo y si se trata de una matriz da una respuesta por cada columna.
exist(‘x’)Devuelve uno si existe y cero si no existe.
isnan (x)Devuelve unos en magnitudes no numéricas (NaN) en x.
isinf (x)Devuelve unos en maginitudes infinitas (Inf) en x.
isfinite (x)Devuelve unos en valores finitos en x.

Existe un orden de precedencia para operadores aritméticos, lógicos y relacionales (tabla 9).

Tabla 9. Orden de precedencia de operadores.

Orden de precedencia de operadores.
^       .^      ‘     .’
*     /          .*     ./     .
+    –    ~    +(unario)    -(unario)
:   >    <    >=    <=    ==    ~=
| &

Ejemplo 4.2.

>> a = 1:9, b = 5-a

% definimos dos vectores

a =

2 3 4 5 6 7 8 9

b=

4 3 2 1 0 -1 -2 -3 -4

>> rl=a<6 % pregunta si a es menor que 6, devuelve 1 cuando es verdadero y 0 cuando es falso

rl =

111110000

>> r2 = a==b % pregunta si a es igual a b, devuelve 1 cuando es verdadero y 0 cuando es falso

r2 =

000000000

>> r3= ab % pregunta si a es distinto a b, devuelve 1 cuando es verdadero y 0 cuando es falso

r3 =

1111

11

>> r4 = (a>b)&(b>-3)% pregunta si a>b y b>-3, devuelve 1 cuando es verdadero y 0 cuando es falso

r4 =

0 0 1 1 1 1 1 0 0

Publica un comentario

Deja un comentario