English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Operaciones lógicas de MATLAB

Operadores de Matlab

MATLAB proporciona dos tipos de operadores y funciones lógicas-

  • Por elemento-Estos operadores operan en los elementos correspondientes de los arrays lógicos.

  • Cortocircuito-Estos operadores operan en expresiones lógicas escalaras.

Operadores lógicos de elementos que operan elemento por elemento en arrays lógicos. Los símbolos &,| y ~ son operadores de arrays lógicos AND, OR y NOT.

Los operadores lógicos de cortocircuito permiten la operación lógica de cortocircuito. Los símbolos && y || son operadores de cortocircuito lógicos AND y OR.

Ejemplo en línea

Cree un archivo de script e ingrese el siguiente código-

a =; 5;
b =; 20;
   if ( a && b )
      disp('Línea 1 - La condición es verdadera');
   fin
   if ( a || b )
      disp('Línea 2 - La condición es verdadera');
   fin
   
   % cambie el valor de a y b 
   a = 0;
   b =; 10;
   
   if ( a && b )
      disp('Línea 3 - La condición es verdadera');
   else
      disp('Línea 3 - La condición no es verdadera');
   fin
   
   if ( ~(a && b) )
   
      disp('Línea 4 - La condición es verdadera');
   fin
Cuando ejecuta el archivo, se producirá el siguiente resultado-
Línea 1 - La condición es verdadera
Línea 2 - La condición es verdadera
Línea 3 - La condición no es verdadera
Línea 4 - La condición es verdadera

Funciones de operación lógica

Además de los operadores lógicos anteriores, MATLAB también proporciona los siguientes comandos o funciones para el mismo propósito-

Número de serieDescripción de la función
1

and(A, B)

Búsqueda de la lógica AND en arrays o entradas escalaras; realizar la lógica AND en todos los arrays de entrada A, B, etc., y devolver un array que contenga elementos establecidos en lógica1Array de elementos (verdadero) o lógicos 0 (falso). Si todos los arrays de entrada contienen elementos no nulos en la misma posición, se establece el elemento del array de salida en1En caso contrario, el elemento se establece en 0.

2

not(A)

Búsqueda de la lógica NOT en arrays o entradas escalaras; realizar la lógica NOT en el array de entrada A y devolver un array que contenga elementos establecidos en lógica1Array de elementos (verdadero) o lógicos 0 (falso). Si cualquier array de entrada contiene elementos cero en la misma posición, se establece el elemento del array de salida en1En caso contrario, el elemento se establece en 0.

3

or(A, B)

Búsqueda de la lógica OR en arrays o entradas escalaras; realizar la lógica OR en todos los arrays de entrada A, B, etc., y devolver un array que contenga elementos establecidos en lógica1Array de elementos (verdadero) o lógicos 0 (falso). Si cualquier array de entrada contiene elementos no nulos en la misma posición del array, se establece el elemento del array de salida en1En caso contrario, el elemento se establece en 0.

4

xor(A, B)

Operación lógica XOR; realizar la operación XOR en los elementos correspondientes de los arrays A y B. Si A(i,j,...) o B(i, j,...), pero no ambos son no nulos.

5

all(A)

Se determina si todos los elementos del array A son no nulos o verdaderos.

  • Si A es un vector, all(A) devuelve verdadero si todos los elementos no son ceros1(verdadero), si hay un o más elementos ceros, se devuelve 0(lógico, falso).

  • Si A es una matriz no vacía, se considera la columna de Aall(A) como un vector y se devuelve un valor lógico1y una matriz de filas de 0.

  • Si A es una matriz vacía 0×0, all(A) devuelve1(verdadero).

  • Si A es un array multidimensional, all(A) realiza la operación a lo largo de la primera dimensión no unitaria y devuelve un vector lógico. El tamaño de esa dimensión se reduce a1y el tamaño de todas las otras dimensiones se mantiene inmodificado.

6

all(A, dim)

A lo largo de un escalardimSe realiza una prueba en la dimensión especificada de A.

7

any(A)

Se determina si hay algún elemento no nulo en cualquier array; de lo contrario, es 0. Se prueba si cualquier elemento de las dimensiones de los arrays es un número no nulo o lógico1(true). La función any ignora las entradas NaN (no numéricas).

  • Si A es un vector, any(A) devuelve verdadero si cualquier elemento de A es un número no nulo o lógico1(verdadero), se devuelve1(verdadero), si todos los elementos son ceros, se devuelve 0(lógico, falso).

  • Si A es una matriz no vacía, se considera la columna de Aany(A) como un vector y se devuelve un valor lógico1y una matriz de filas de 0.

  • Si A es una matriz vacía 0×0, any(A) devuelve 0(lógico, falso).

  • Si A es un vector multidimensional, any(A) realiza la operación a lo largo de la primera dimensión no unitaria y devuelve un vector lógico. El tamaño de esa dimensión se reduce a1y el tamaño de todas las otras dimensiones se mantiene inmodificado.

8

any(A,dim)

A lo largo de un escalardimSe realiza una prueba en la dimensión especificada de A.

9

false

0(lógico)

10

false(n)

Es una matriz lógica de ceros de tamaño n×n.

11

false(m, n)

Es una matriz lógica de ceros de tamaño m×n.

12

false(m, n, p, ...)

Es un vector lógico de ceros de tamaño m×n×p×....

13

false(size(A))

Es un vector lógico de ceros con el mismo tamaño que el vector A.

14

false(...,'like',p)

Es un vector lógico de ceros con el mismo tipo de datos y densidad que el vector lógico p.

15

ind  = find(X)

Se buscan los índices y valores de los elementos no nulos; se encuentran todos los elementos no nulos del vector X y se devuelven estos elementos como índices lineales en el vector. Si X es un vector filas, el vector devuelto es un vector filas; de lo contrario, se devuelve X. De lo contrario, se devuelve una matriz de columnas. Si X no contiene elementos no nulos o es un vector vacío, se devuelve una matriz vacía.

16

ind = find(X, k)

ind = find(X, k, 'first')

Se devuelven las primeras k índices correspondientes a las entradas no nulas de X. k debe ser un entero positivo, pero puede ser de cualquier tipo de datos numéricos.

17

ind = find(X, k, 'last')

Devuelve como máximo los últimos k índices correspondientes a los elementos no nulos de X.

18

[row,col] = find(X, ...)

Devuelve los índices de filas y columnas de elementos no nulos del matariz X. Este sintaxis es especialmente útil cuando se utilizan matrices dispersas. Si X es N> 2Del array N-dimensional, col contiene el índice lineal de las columnas.

19

[row,col,v] = find(X, ...)

Devuelve la vectorización de columnas o filas de no ceros de X y los índices de filas y columnas. Si X es una expresión lógica, v es un array lógico. La salida v contiene los elementos no nulos del array lógico obtenido evaluando la expresión X.

20

islogical(A)

Determina si la entrada es un array lógico; si A es un array lógico, devuelve true, de lo contrario devuelve false. Si A es una instancia de una clase derivada de lógica, también devuelve true.

21

logical(A)

Convierte valores numéricos en valores lógicos; devuelve un array que se puede usar para índices lógicos o pruebas lógicas.

22

true

Lógico1(true)

23

true(n)

Es una matriz n×n de matrices lógicas.

24

true(m, n)

Es una matriz n×n de matrices lógicas.

25

true(m, n, p, ...)

Es un array de arrays de arrays lógicos m×n×p×….

26

true(size(A))

Es un array lógico de tamaño igual al array A.

27

true(...,'like', p)

Es un array lógico con el mismo tipo de datos y densidad que el array lógico p.

Operadores de Matlab