MATLAB - Operaciones lógicas
MATLAB ofrece dos tipos de funciones y operadores lógicos:
Elemento-sabio: estos operadores operan en elementos correspondientes de matrices lógicas.
Cortocircuito: estos operadores operan en expresiones lógicas escalares.
Los operadores lógicos de elementos operan elemento por elemento en matrices lógicas. Los símbolos &, | y ~ son los operadores de matriz lógica AND, OR y NOT.
Los operadores lógicos de cortocircuito permiten el cortocircuito en operaciones lógicas. Los símbolos && y || son los operadores lógicos de cortocircuito AND y OR.
Ejemplo
Cree un archivo de script y escriba el siguiente código:
a = 5;
b = 20;
if ( a && b )
disp('Line 1 - Condition is true');
end
if ( a || b )
disp('Line 2 - Condition is true');
end
% lets change the value of a and b
a = 0;
b = 10;
if ( a && b )
disp('Line 3 - Condition is true');
else
disp('Line 3 - Condition is not true');
end
if (~(a && b))
disp('Line 4 - Condition is true');
end
Cuando ejecuta el archivo, produce el siguiente resultado:
Line 1 - Condition is true
Line 2 - Condition is true
Line 3 - Condition is not true
Line 4 - Condition is true
Funciones para operaciones lógicas
Además de los operadores lógicos mencionados anteriormente, MATLAB proporciona los siguientes comandos o funciones que se utilizan para el mismo propósito:
No Señor. | Función descriptiva |
---|---|
1 | and(A, B) Encuentra el AND lógico de entradas de matriz o escalares; realiza un AND lógico de todas las matrices de entrada A, B, etc. y devuelve una matriz que contiene elementos configurados en 1 lógico (verdadero) o 0 lógico (falso). Un elemento de la matriz de salida se establece en 1 si todas las matrices de entrada contienen un elemento distinto de cero en la misma ubicación de la matriz. De lo contrario, ese elemento se establece en 0. |
2 | not(A) Encuentra NO lógico de matriz o entrada escalar; realiza un NOT lógico de la matriz de entrada A y devuelve una matriz que contiene elementos configurados en 1 lógico (verdadero) o 0 lógico (falso). Un elemento de la matriz de salida se establece en 1 si la matriz de entrada contiene un elemento de valor cero en la misma ubicación de la matriz. De lo contrario, ese elemento se establece en 0. |
3 | or(A, B) Encuentra el OR lógico de entradas de matriz o escalares; realiza un O lógico de todas las matrices de entrada A, B, etc. y devuelve una matriz que contiene elementos configurados en 1 lógico (verdadero) o 0 lógico (falso). Un elemento de la matriz de salida se establece en 1 si alguna de las matrices de entrada contiene un elemento distinto de cero en la misma ubicación de la matriz. De lo contrario, ese elemento se establece en 0. |
4 | xor(A, B) OR exclusivo lógico; realiza una operación OR exclusiva en los elementos correspondientes de las matrices A y B. El elemento resultante C (i, j, ...) es lógicamente verdadero (1) si A (i, j, ...) o B (i, j, ...), pero no ambos, es distinto de cero. |
5 | all(A) Determine si todos los elementos de la matriz A son distintos de cero o verdaderos.
|
6 | all(A, dim) Pruebas a lo largo de la dimensión de A especificada por escalar dim . |
7 | any(A) Determine si algún elemento de la matriz es distinto de cero; comprueba si alguno de los elementos a lo largo de varias dimensiones de una matriz es un número distinto de cero o es lógico 1 (verdadero). La función any ignora las entradas que son NaN (no un número).
|
8 | any(A,dim) Pruebas a lo largo de la dimensión de A especificada por escalar dim . |
9 | false 0 lógico (falso) |
10 | false(n) es una matriz n-por-n de ceros lógicos |
11 | false(m, n) es una matriz m-por-n de ceros lógicos. |
12 | false(m, n, p, ...) es una matriz m-by-n-by-p-by -... de ceros lógicos. |
13 | false(size(A)) es una matriz de ceros lógicos que tiene el mismo tamaño que la matriz A. |
14 | false(...,'like',p) es una matriz de ceros lógicos del mismo tipo de datos y escasez que la matriz lógica p. |
15 | ind = find(X) Encuentre índices y valores de elementos distintos de cero; localiza todos los elementos distintos de cero de la matriz X y devuelve los índices lineales de esos elementos en un vector. Si X es un vector de fila, entonces el vector devuelto es un vector de fila; de lo contrario, devuelve un vector de columna. Si X no contiene elementos distintos de cero o es una matriz vacía, se devuelve una matriz vacía. |
dieciséis | ind = find(X, k) ind = find(X, k, 'first') Devuelve como máximo los primeros k índices correspondientes a las entradas distintas de cero 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 las entradas distintas de cero de X. |
18 | [row,col] = find(X, ...) Devuelve los índices de fila y columna de las entradas distintas de cero en la matriz X. Esta sintaxis es especialmente útil cuando se trabaja con matrices dispersas. Si X es una matriz N-dimensional con N> 2, col contiene índices lineales para las columnas. |
19 | [row,col,v] = find(X, ...) Devuelve un vector de columna o fila v de las entradas distintas de cero en X, así como índices de fila y columna. Si X es una expresión lógica, entonces v es una matriz lógica. La salida v contiene los elementos distintos de cero de la matriz lógica obtenida al evaluar la expresión X. |
20 | islogical(A) Determine si la entrada es una matriz lógica; devuelve verdadero si A es una matriz lógica y falso en caso contrario. También devuelve verdadero si A es una instancia de una clase que se deriva de la clase lógica. |
21 | logical(A) Convertir valores numéricos en lógicos; devuelve una matriz que se puede utilizar para indexación lógica o pruebas lógicas. |
22 | true Lógico 1 (verdadero) |
23 | true(n) es una matriz n-por-n de unos lógicos. |
24 | true(m, n) es una matriz m-por-n de unos lógicos. |
25 | true(m, n, p, ...) es una matriz m-by-n-by-p-by -... de unos lógicos. |
26 | true(size(A)) es una matriz de lógicas que tiene el mismo tamaño que la matriz A. |
27 | true(...,'like', p) es una matriz de datos lógicos del mismo tipo de datos y escasez que la matriz lógica p. |