English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
MATLAB fornisce due tipi di operatori logici e funzioni-
Per elemento - questi operatori operano sugli elementi corrispondenti di un array logico.
Cortocircuito - questi operatori operano su espressioni logiche scalari.
Gli operatori logici su elementi operano elemento per elemento su un array logico. Gli simboli &، | e ~ sono gli operatori di array logico AND, OR e NOT.
Gli operatori logici di cortocircuito permettono l'operazione di cortocircuito logico. Gli simboli && e || sono gli operatori di cortocircuito logici AND e OR.
Creare un file di script e inserire il seguente codice-
a = 5; b = 20; if (a && b) disp('Line 1 - Condition is true'); fine if (a || b) disp('Linea 2 - Condizione è vera'); fine % cambia il valore di a e b a = 0; b = 10; if (a && b) disp('Linea 3 - Condizione è vera'); else disp('Linea 3 - Condizione non è vera'); fine if (~ (a && b)) disp('Linea 4 - Condizione è vera'); fineQuando esegui il file, produce i seguenti risultati -
Linea 1 - Condizione è vera Linea 2 - Condizione è vera Linea 3 - Condizione non è vera Linea 4 - Condizione è vera
Oltre agli operatori logici sopra menzionati, MATLAB fornisce anche i seguenti comandi o funzioni per lo stesso scopo -
Numero di sequenza | Descrizione della funzione |
---|---|
1 | and(A, B) Ricerca dell'operazione logica AND su array o input scalare; esegue l'operazione AND su tutti gli array di input A, B ecc. e restituisce un array contenente elementi impostati logicamente 1 (vero) o 0 (falso). Se tutti gli array di input contengono elementi non zero nella stessa posizione, l'elemento dell'array di output viene impostato a 1. Altrimenti, l'elemento viene impostato a 0. |
2 | not(A) Ricerca dell'operazione logica NOT su array o input scalare; esegue l'operazione NOT sull'array di input A e restituisce un array contenente elementi impostati logicamente 1 (true) o 0 (false). Se l'array di input contiene elementi zero nella stessa posizione, l'elemento dell'array di output viene impostato a 1. Altrimenti, l'elemento viene impostato a 0. |
3 | or(A, B) Ricerca dell'operazione logica OR su array o input scalare; esegue l'operazione OR su tutti gli array di input A, B ecc. e restituisce un array contenente elementi impostati logicamente 1 (vero) o 0 (falso). Se qualsiasi array di input contiene elementi non zero nella stessa posizione dell'array di output, l'elemento dell'array di output viene impostato a 1. Altrimenti, l'elemento viene impostato a 0. |
4 | xor(A, B) Estrazione logica XOR; esegue l'operazione XOR sugli elementi corrispondenti degli array A e B. Se A(i,j,...) o B(i, j,...), ma non entrambi non zero. |
5 | all(A) Determina se tutti gli elementi dell'array A sono non zero o true.
|
6 | all(A, dim) Along the scalardimTesta le dimensioni specifiche di A. |
7 | any(A) Determina se qualsiasi elemento dell'array è non zero; altrimenti 0. Testa se qualsiasi elemento di ciascuna dimensione dell'array è un numero non zero o un logico 1 (true). La funzione any ignora le voci NaN (non numeriche).
|
8 | any(A,dim) Along the scalardimTesta le dimensioni specifiche di A. |
9 | false Logico zero (false) |
10 | false(n) È una matrice logica di zeri di dimensioni nbyn. |
11 | false(m, n) È una matrice logica di zeri di dimensioni m×n. |
12 | false(m, n, p, ...) È un array logico di zeri di dimensioni m×n×p×.... |
13 | false(size(A)) È un array logico di zeri della stessa dimensione dell'array A. |
14 | false(...,'like',p) È un array logico di zeri con la stessa tipologia e sparsità dell'array p. |
15 | ind = find(X) Trova gli indici e i valori degli elementi non zero; trova tutti gli elementi non zero dell'array X e restituisce gli indici lineari di questi elementi nel vettore. Se X è un vettore riga, il vettore restituito è un vettore riga; altrimenti, restituisce X. Altrimenti, restituisce un vettore colonna. Se X non contiene elementi non zero o è un array vuoto, restituisce un array vuoto. |
16 | ind = find(X, k) ind = find(X, k, 'first') Restituisce i primi k indici lineari corrispondenti agli elementi non zero di X. k deve essere un numero intero positivo, ma può essere di qualsiasi tipo di dati numerici. |
17 | ind = find(X, k, 'last') 最多返回与X的非零条目相对应的最后k个索引。 |
18 | [row,col] = find(X, ...) 返回矩阵X中非零条目的行索引和列索引。使用稀疏矩阵时,此语法特别有用。如果X是N> 2的N维数组,则col包含列的线性索引。 |
19 | [row,col,v] = find(X, ...) 返回X中非零条目的列或行向量v以及行和列索引。如果X是逻辑表达式,则v是逻辑数组。输出v包含通过对表达式X求值而获得的逻辑数组的非零元素。 |
20 | islogical(A) 确定输入是否为逻辑数组;如果A是逻辑数组,则返回true,否则返回false。如果A是从逻辑类派生的类的实例,则它也返回true。 |
21 | logical(A) 将数值转换为逻辑值;返回一个可用于逻辑索引或逻辑测试的数组。 |
22 | true 逻辑1(true) |
23 | true(n) 是逻辑矩阵的n×n矩阵。 |
24 | true(m, n) 是逻辑矩阵的n×n矩阵。 |
25 | true(m, n, p, ...) 是一个m×n×p×…逻辑数组的数组。 |
26 | true(size(A)) 是一个逻辑数组,其大小与数组A相同。 |
27 | true(...,'like', p) 是一个与逻辑数组p具有相同数据类型和稀疏性的逻辑数组。 |