MATLAB - Operazioni aritmetiche
MATLAB consente due diversi tipi di operazioni aritmetiche:
- Operazioni aritmetiche su matrici
- Operazioni aritmetiche su array
Le operazioni aritmetiche delle matrici sono le stesse definite in algebra lineare. Le operazioni sugli array vengono eseguite elemento per elemento, sia su un array unidimensionale che multidimensionale.
Gli operatori di matrice e gli operatori di array sono differenziati dal simbolo del punto (.). Tuttavia, poiché l'operazione di addizione e sottrazione è la stessa per matrici e array, l'operatore è lo stesso per entrambi i casi.
La tabella seguente fornisce una breve descrizione degli operatori:
Sr.No. | Operatore e descrizione |
---|---|
1 | + Addizione o plus unario. A + B aggiunge i valori memorizzati nelle variabili A e B. A e B devono avere la stessa dimensione, a meno che uno non sia uno scalare. Uno scalare può essere aggiunto a una matrice di qualsiasi dimensione. |
2 | - Sottrazione o meno unario. AB sottrae il valore di B da A. A e B devono avere la stessa dimensione, a meno che uno non sia uno scalare. Uno scalare può essere sottratto da una matrice di qualsiasi dimensione. |
3 | * Moltiplicazione di matrici. C = A * B è il prodotto algebrico lineare delle matrici A e B. Più precisamente, Per A e B non scalari, il numero di colonne di A deve essere uguale al numero di righe di B. Uno scalare può moltiplicare una matrice di qualsiasi dimensione. |
4 | .* Moltiplicazione di array. A. * B è il prodotto elemento per elemento degli array A e B. A e B devono avere la stessa dimensione, a meno che uno di essi non sia uno scalare. |
5 | / Divisione destra con barra o matrice. B / A è più o meno uguale a B * inv (A). Più precisamente, B / A = (A '\ B') '. |
6 | ./ Array divisione destra. A./B è la matrice con gli elementi A (i, j) / B (i, j). A e B devono avere la stessa dimensione, a meno che uno di essi non sia uno scalare. |
7 | \ Barra rovesciata o divisione a sinistra della matrice. Se A è una matrice quadrata, A \ B è più o meno uguale a inv (A) * B, tranne per il fatto che è calcolato in modo diverso. Se A è un n-da-n matrice e B è un vettore colonna con n componenti, o una matrice con diversi tali colonne, allora X = A \ B è la soluzione dell'equazione AX = B . Viene visualizzato un messaggio di avviso se A è ridimensionato in modo errato o quasi singolare. |
8 | .\ Divisione sinistra matrice. A. \ B è la matrice con gli elementi B (i, j) / A (i, j). A e B devono avere la stessa dimensione, a meno che uno di essi non sia uno scalare. |
9 | ^ Potere della matrice. X ^ p è X alla potenza p, se p è uno scalare. Se p è un numero intero, la potenza viene calcolata per quadratura ripetuta. Se il numero intero è negativo, X viene invertito per primo. Per altri valori di p, il calcolo coinvolge autovalori e autovettori, tali che se [V, D] = eig (X), allora X ^ p = V * D. ^ p / V. |
10 | .^ Potenza array. A. ^ B è la matrice con gli elementi A (i, j) alla potenza B (i, j). A e B devono avere la stessa dimensione, a meno che uno di essi non sia uno scalare. |
11 | ' Trasposizione della matrice. A 'è la trasposizione algebrica lineare di A. Per matrici complesse, questa è la trasposizione coniugata complessa. |
12 | .' Trasposizione di array. UN.' è la trasposizione dell'array di A. Per matrici complesse, ciò non implica la coniugazione. |
Esempio
I seguenti esempi mostrano l'uso di operatori aritmetici su dati scalari. Crea un file di script con il codice seguente:
a = 10;
b = 20;
c = a + b
d = a - b
e = a * b
f = a / b
g = a \ b
x = 7;
y = 3;
z = x ^ y
Quando esegui il file, produce il seguente risultato:
c = 30
d = -10
e = 200
f = 0.50000
g = 2
z = 343
Funzioni per operazioni aritmetiche
Oltre ai suddetti operatori aritmetici, MATLAB fornisce i seguenti comandi / funzioni utilizzati per scopi simili:
Sr.No. | Descrizione della funzione |
---|---|
1 | uplus(a) Più unario; incrementi dell'importo a |
2 | plus (a,b) Più; restituisce a + b |
3 | uminus(a) Meno unario; decrementi dell'importo a |
4 | minus(a, b) Meno; restituisce a - b |
5 | times(a, b) La matrice si moltiplica; restituisce a. * b |
6 | mtimes(a, b) Moltiplicazione di matrici; restituisce a * b |
7 | rdivide(a, b) Divisione matrice destra; restituisce a ./ b |
8 | ldivide(a, b) Divisione array a sinistra; restituisce a. \ b |
9 | mrdivide(A, B) Risolvi sistemi di equazioni lineari xA = B per x |
10 | mldivide(A, B) Risolvi sistemi di equazioni lineari Ax = B per x |
11 | power(a, b) Potenza array; restituisce a. ^ b |
12 | mpower(a, b) Potenza della matrice; restituisce a ^ b |
13 | cumprod(A) Prodotto cumulativo; restituisce un array della stessa dimensione dell'array A contenente il prodotto cumulativo.
|
14 | cumprod(A, dim) Restituisce il prodotto cumulativo lungo la dimensione dim . |
15 | cumsum(A) Somma cumulativa; restituisce un array A contenente la somma cumulativa.
|
16 | cumsum(A, dim) Restituisce la somma cumulativa degli elementi lungo la dimensione dim . |
17 | diff(X) Differenze e derivate approssimate; calcola le differenze tra elementi adiacenti di X.
|
18 | diff(X,n) Applica diff ricorsivamente n volte, risultando nell'ennesima differenza. |
19 | diff(X,n,dim) È l'ennesima funzione di differenza calcolata lungo la dimensione specificata da dim scalare. Se l'ordine n è uguale o superiore alla lunghezza della dimensione dim, diff restituisce un array vuoto. |
20 | prod(A) Prodotto di elementi di matrice; restituisce il prodotto degli elementi dell'array di A.
La funzione prod calcola e restituisce B come singolo se l'input, A, è singolo. Per tutti gli altri tipi di dati numerici e logici, prod calcola e restituisce B come double. |
21 | prod(A,dim) Restituisce i prodotti lungo la dimensione dim. Ad esempio, se A è una matrice, prod (A, 2) è un vettore colonna contenente i prodotti di ciascuna riga. |
22 | prod(___,datatype) moltiplica e restituisce un array nella classe specificata da datatype. |
23 | sum(A)
|
24 | sum(A,dim) Somma lungo la dimensione di A specificata da scalar dim . |
25 | sum(..., 'double') sum(..., dim,'double') Esegui le aggiunte in doppia precisione e restituisci una risposta di tipo double, anche se A ha un tipo di dati single o un intero. Questa è l'impostazione predefinita per i tipi di dati interi. |
26 | sum(..., 'native') sum(..., dim,'native') Eseguire le aggiunte nel tipo di dati nativo di A e restituire una risposta dello stesso tipo di dati. Questa è l'impostazione predefinita per singola e doppia. |
27 | ceil(A) Rotonda verso l'infinito positivo; arrotonda gli elementi di A ai numeri interi più vicini maggiori o uguali ad A. |
28 | fix(A) Arrotonda verso zero |
29 | floor(A) Rotonda verso l'infinito negativo; arrotonda gli elementi di A ai numeri interi più vicini minori o uguali ad A. |
30 | idivide(a, b) idivide(a, b,'fix') Divisione intera con opzione di arrotondamento; è uguale a a./b tranne per il fatto che i quozienti frazionari sono arrotondati verso zero agli interi più vicini. |
31 | idivide(a, b, 'round') I quozienti frazionari vengono arrotondati agli interi più vicini. |
32 | idivide(A, B, 'floor') I quozienti frazionari vengono arrotondati verso l'infinito negativo agli interi più vicini. |
33 | idivide(A, B, 'ceil') I quozienti frazionari vengono arrotondati verso l'infinito agli interi più vicini. |
34 | mod (X,Y) Modulo dopo la divisione; restituisce X - n. * Y dove n = floor (X./Y). Se Y non è un numero intero e il quoziente X./Y rientra nell'errore di arrotondamento di un numero intero, allora n è quel numero intero. Gli ingressi X e Y devono essere array reali della stessa dimensione o scalari reali (purché Y ~ = 0). Nota:
|
35 | rem (X,Y) Resto dopo la divisione; restituisce X - n. * Y dove n = fix (X./Y). Se Y non è un numero intero e il quoziente X./Y rientra nell'errore di arrotondamento di un numero intero, allora n è quel numero intero. Gli ingressi X e Y devono essere array reali della stessa dimensione o scalari reali (purché Y ~ = 0). Si prega di notare che -
|
36 | round(X) Arrotonda al numero intero più vicino; arrotonda gli elementi di X ai numeri interi più vicini. Gli elementi positivi con una parte frazionaria di 0,5 arrotondano al numero intero positivo più vicino. Elementi negativi con una parte frazionaria di -0,5 arrotondati per difetto al numero intero negativo più vicino. |