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

Operazioni logiche MATLAB

运算符Matlab

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.

Esempio online

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');
   fine
Quando esegui il file, produce i seguenti risultati -
Linea 1 - Condizione è vera
Linea 2 - Condizione è vera
Linea 3 - Condizione non è vera
Linea 4 - Condizione è vera

Funzioni di operazione logica

Oltre agli operatori logici sopra menzionati, MATLAB fornisce anche i seguenti comandi o funzioni per lo stesso scopo -

Numero di sequenzaDescrizione 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.

  • Se A è un vettore, all(A) restituisce logicamente 1 (vero) se tutti gli elementi non sono zero, altrimenti restituisce logicamente 0 (falso).

  • Se A è un array non vuoto, considera le colonne di Aall(A) come vettori e restituisce un vettore riga di 1 e 0.

  • Se A è un array vuoto 0×0, all(A) restituisce 1 logico (vero).

  • Se A è un array multidimensionale, all(A) esegue l'operazione lungo la prima dimensione non singola e restituisce un array di valori logici. La dimensione si riduce a 1, mentre la dimensione di tutte le altre dimensioni rimane invariata.

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).

  • Se A è un vettore, se qualsiasi elemento di any(A) è un numero non zero o un logico 1 (vero), restituisce 1 logico (vero), se tutti gli elementi sono zero, restituisce 0 logico (falso).

  • Se A è un array non vuoto, considera le colonne di Aany(A) come vettori e restituisce un vettore riga di 1 e 0.

  • Se A è un array vuoto 0×0, any(A) restituisce 0 logico (falso).

  • Se A è un array multidimensionale, any(A) esegue l'operazione lungo la prima dimensione non singola e restituisce un array di valori logici. La dimensione si riduce a 1, mentre la dimensione di tutte le altre dimensioni rimane invariata.

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具有相同数据类型和稀疏性的逻辑数组。

运算符Matlab