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

Operatori di MATLAB

Un operatore è un simbolo che informa il compilatore di eseguire un'operazione matematica o logica specifica. MATLAB è progettato per funzionare principalmente su matrici e array. Pertanto, gli operatori in MATLAB possono gestire sia dati scalari che dati non scalari. MATLAB consente i seguenti tipi di operazioni di base-

  • Operatori aritmetici

  • Relational operators

  • Logical operators

  • Operatori bit a bit

  • Operatore di insieme

Operatori aritmetici

MATLAB consente due tipi diversi di operazioni aritmetiche-

  • Operazioni aritmetiche delle matrici

  • Operazioni aritmetiche degli array

Le operazioni aritmetiche delle matrici sono le stesse definite nella linear algebra. Le operazioni sugli array sono eseguite elemento per elemento sugli array unidimensionali e multidimensionali.

Gli operatori di matematica e gli operatori di array sono distinti utilizzando il punto (.) come simbolo. Tuttavia, poiché le operazioni di somma e sottrazione delle matrici e degli array sono le stesse, gli operatori sono gli stessi nei due casi. La tabella seguente fornisce una breve descrizione degli operatori -

Esempi di operatori aritmetici

Numero di sequenzaOperators and descriptions
1

+

Sommatoria o unary plus. A+B aggiunge i valori memorizzati nelle variabili A e B. A e B devono avere la stessa dimensione, a meno che uno di essi non sia uno scalare. Gli scalari possono essere aggiunti a matrici di qualsiasi dimensione.

2

-

Subtraction or unary subtraction. A-B subtracts the value of B from A. A and B must have the same size unless one of them is a scalar. Scalars can be subtracted from matrices of any size.

3

*

Matrix multiplication. C=A*B is the linear algebraic product of matrices A and B. More accurately,

For non-scalar A and B, the number of columns of A must be equal to the number of rows of B. Scalars can be multiplied with matrices of any size.

4

.*

Array multiplication. A.*B is the element-wise product of arrays A and B. A and B must have the same size unless one of them is a scalar.

5

/

Slash or matrix right division. B/A is approximately the same as B*inv(A). More accurately, B/A = (A'\B').

6

./

Array right division. A./B is a matrix where the element A(i,j)/B(i,j) is. A and B must have the same size unless one of them is a scalar.

7

\

Backslash or matrix left division. If A is a square matrix, then A\B is approximately the same as inv(A)*B, but the calculation method is different. If A is an n x n matrix and B is a column vector containing n components or a matrix containing multiple such columns, then X=A\B is the solution to the equation AX=B. If A is ill-conditioned or nearly singular, a warning message will be displayed.

8

.\

Array left division. A.\B is a matrix where the element B(i,j)/A(i,j) is. A and B must have the same size unless one of them is a scalar.

9

^

Matrix power. If p is a scalar, then X^p is the power of p. If p is an integer, the power is calculated by repeated squaring. If the integer is negative, X is first inverted. For other values of p, the calculation involves eigenvalues and eigenvectors, so if [V, D] = eig(X), then X^p = V*D.^p/V.

10

^.

Array power. A.^B is a matrix where the element A(i,j) is raised to the power of B(i,j). A and B must have the same size unless one of them is a scalar.

11

'

Matrix transpose. A' is the linear algebraic transpose of A. For complex matrices, this is the complex conjugate transpose.

12

.'

Array transpose a' is the transpose of array a. For complex matrices, this does not involve conjugation.

Relational operators

Relational operators can also handle scalar and non-scalar data. The relational operators of arrays perform element-wise comparisons between two arrays and return a logical array of the same size, where elements are set to logical 1 (true) if the relationship is true, and logical 0 (false) otherwise.

The following table shows the relational operators available in MATLAB-

Examples of relational operations

Numero di sequenzaOperators and descriptions
1

<

Less

2

<=

Less than or equal to

3

>

Greater

4

>=

Greater than or equal to

5

==

Equal

6

~=

Not equal

Logical operators

MATLAB provides two types of logical operators and functions-

  • Element level - These operators operate on the corresponding elements of the logical array.

  • Short-circuit - questi operatori eseguono operazioni su espressioni scatenanti e scalari. Gli operatori sono operatori di espressioni scatenanti e scalari AND, OR e NOT.

Operatore logico per elemento per elemento esegue operazioni logiche su array logici. Gli operatori &,| e ~ sono operatori di array logici AND, OR e NOT.

Gli operatori logici a breve circuito permettono l'arrotondamento logico a breve circuito. Gli operatori && e || sono operatori di breve circuito AND e OR.

Esempi di operazioni logiche

Operazione bitwise

Operatore bitwise esegue operazioni bitwise sui bit e esegue operazioni bitwise. &,| e ^ sono tabelle di verità come segue-

pqp&qp | qp ^ Q
00000
01011
11110
10011

Supponiamo che A = 60; e B = 13; ora in formato binario, saranno come segue-

A = 0011 1100

B = 0000 1101

-----------------

A&B = 0000 1100

A | B = 0011 1101

A ^ B = 0011 0001

〜A = 1100 0011

MATLAB fornisce una varietà di funzioni per le operazioni bitwise, ad esempio operazioni bitwise AND, OR e NOT, operazioni di shiftamento.

La tabella seguente mostra alcune operazioni bitwise comuni-

Esempi di operazioni bitwise

Funzione
Funzione
bitand(a, b)

Bitwise AND degli interi a e b

bitcmp(a)

Complemento a bitwise di a

bitget(a,pos)

Ottiene il bit specifico pos dall'array di interi a

bitor(a, b)

Bitwise OR degli interi a e b

bitset(a, pos)

Imposta il bit specifico pos di a

bitshift(a, k)RestituisceUnDa sinistraķBit, equivalente a moltiplicare per 2 ķ.Il valore negativo di k corrisponde a un arrotondamento a destra o alla divisione per 2 | k | Arrotonda a meno infinito per estrarre l'intero più vicino.Qualsiasi bit in eccesso viene troncato.
bitxor(a, b)

Bitwise XOR degli interi a e b

swapbytes

Bitwise XOR degli interi a e b

Operatore di insieme

MATLAB fornisce una varietà di funzioni per le operazioni di insieme, ad esempio l'unione, l'intersezione e il test di appartenenza degli insiemi.

La tabella seguente mostra alcune operazioni di set comuni-

Esempi di operazioni di insieme

Numero di sequenzaDescrizione della funzione
1

intersect(A,B)

Imposta l'intersezione di due array; restituisce i valori comuni tra A e B. I valori restituiti sono ordinati in sequenza.

2

intersect(A,B,'rows')

Considera ogni riga di A e ogni riga di B come un'entità singola e restituisce le righe comuni tra A e B. Le righe della matrice restituita sono ordinate per ordine di sorting.

3

ismember(A,B)

Restituisce un array della stessa dimensione di A, contenente 1(true), dove gli elementi di A si trovano in B. In altri posti, restituisce 0(false).

4

ismember(A,B,'rows')

Considera ogni riga di A e ogni riga di B come un'entità singola e restituisce un vettore contenente 1(true) dove le righe della matrice A sono anche righe di B. Altrimenti, restituisce 0(false).

5

issorted(A)

Restituisce 1(true) se gli elementi sono ordinati in ordine di sorting, altrimenti restituisce 0(false). L'input A può essere un vettore, o un array di celle N×1 o 1×N. Se A e l'output di sort(A) sono uguali, si considera che A è ordinato.

6

issorted(A, 'rows')

Restituisce 1(true) se la riga di una matrice bidimensionale A è ordinata in ordine di sorting, altrimenti restituisce 0(false). Se l'output di A e sortrows(A) sono uguali, si considera che la matrice A è ordinata.

7

setdiff(A,B)

Imposta la differenza tra due array; restituisce i valori che non sono in B. I valori dell'array sono ordinati in ordine di sorting.

8

setdiff(A,B,'rows')

Considera ogni riga di A e ogni riga di B come un'entità singola e restituisci le righe di A che non sono in B. L'ordine delle righe del matrice restituita è in ordine di sorting.

L'opzione "rows" non è supportata per array di celle.

9

setxor

XOR di due array

10

union

Unione di due array

11

unique

Valori unici nell'array