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

Operazioni aritmetiche MATLAB

运算符Matlab

MATLAB consente due tipi diversi di operazioni aritmetiche-

  • Operazioni aritmetiche di matrici

  • Operazioni aritmetiche di array

Operazioni aritmetiche di matrici

Gli operatori di matrice e gli operatori di array sono distinti utilizzando il simbolo punto (.) ma, poiché le operazioni di addizione e sottrazione di matrici e array sono le stesse, gli operatori sono gli stessi in entrambi i casi.

La tabella seguente fornisce una panoramica degli operatori -

numero di sequenzaOperatore e descrizione
1

+

Addizione o addizione unaria. A + B sommerà i valori memorizzati nelle variabili A e B. A meno che uno di essi non sia uno scalare, le dimensioni di A e B devono essere le stesse. È possibile aggiungere uno scalare a qualsiasi matrice di dimensioni.

2

-

Sottrazione o sottrazione unaria. AB sottrae il valore di B dal valore di A. A meno che uno di essi non sia uno scalare, le dimensioni di A e B devono essere le stesse. È possibile sottrarre uno scalare da qualsiasi matrice di dimensioni.

3

*

Moltiplicazione di matrici. C = A * B è il prodotto algebraico lineare delle matrici A e B. In modo più preciso,

Per insiemi non scalari A e B, il numero delle colonne di A deve essere uguale al numero delle righe di B. Gli scalari possono essere moltiplicati per matrici di qualsiasi dimensione.

4

.*

moltiplicazione di array. A. * B è il prodotto elementare degli array A e B. A e B devono avere dimensioni identiche, a meno che uno di essi non sia uno scalare.

Sottrazione; restituisce a-b

/

barra o divisione a destra di matrice. B / A è simile a B * inv(A). In modo più preciso, B / A = (A'\ B')'.

Moltiplicazione di array; restituisce a.*b

./

divisione di array a destra. A./B è la matrice con elementi A(i,j)/ di B(i,j). Le dimensioni di A e B devono essere le stesse, a meno che uno di essi non sia uno scalare.

Moltiplicazione di matrici; restituisce a * b

\

barra obliqua o divisione a sinistra di matrice. Se A è una matrice quadrata, allora A \ B è simile a inv(A)* B, ma il modo di calcolo è diverso. Se A è una matrice n×n e B è una matrice colonna con n componenti o una matrice con diverse colonne di questo tipo, allora X = A \ B è l'equazioneAX = Brisoluzione. Se A è errato nella scalatura o vicino alla singolarità, viene visualizzato un messaggio di avviso.

Divisione array a destra; restituisce una./b

.\

divisione di array a sinistra. A. \ B è la matrice con elementi B(i,j)/ di A(i,j). Le dimensioni di A e B devono essere le stesse, a meno che uno di essi non sia uno scalare.

Divisione array a sinistra; restituisce a./b

^

potenza di matrice. Se p è uno scalare, allora X ^ p è X alla potenza p. Se p è un intero, la potenza viene calcolata per ripetuta quadratura. Se l'intero è negativo, X viene invertito prima. Per altri valori di p, il calcolo coinvolge i valori eigen e i vettori eigen, quindi, se [V, D] = eig(X), allora X ^ p = V * D. ^ p / V.

Per

.^

potenza di array. A. ^ B è la matrice con elementi A(i,j) elevati alla potenza B(i,j). Le dimensioni di A e B devono essere le stesse, a meno che uno di essi non sia uno scalare.

11

'

trasposizione di matrice. A' è la trasposizione lineare dell'array A. Per matrici complesse, è la trasposizione coniugata.

12

'.

trasposizione di array. Un. ' è la trasposizione dell'array A. Per matrici complesse, non coinvolge il conjugato.

esempio

Esempi seguenti mostrano l'uso degli operatori aritmetici sui dati scalari. Creare il file script con il seguente codice-

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 si esegue il file, verranno generati i seguenti risultati-
c = 30
d = -10
e = 200
f = 0.50000
g = 2
z = 343

funzioni aritmetiche

Oltre agli operatori aritmetici sopra menzionati, MATLAB fornisce anche i seguenti comandi/funzioni per scopi simili-

numero di sequenzadescrizione della funzione
1

uplus(a)

unione elementare positiva; aumenta secondo la quantità di a

2

plus (a,b)

aggiunta; restituisce a + b

3

uminus(a)

unione elementare; quantità ridotta a

4

minus(a, b)

减; 返回a-b

Sottrazione; restituisce a-b

5

times(a, b)

Moltiplicazione di array; restituisce a.*b

6

mtimes(a, b)

Moltiplicazione di matrici; restituisce a * b

7

rdivide(a, b)

Divisione array a destra; restituisce una./b

8

ldivide(a, b)

Divisione array a sinistra; restituisce a./b

9

mldivide(A, B)mrdivide(A, B)XA = BX

Per

10

mldivide(A, B)Solve il sistema di equazioni lineari Ax = bUtilizzato perX

11

power(a, b)

Potenza dell'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 che contiene il prodotto cumulativo.

  • Se A è un vettore, cumprod(A) restituisce un vettore che contiene il prodotto cumulativo degli elementi di A.

  • Se A è una matrice, cumprod(A) restituisce una matrice che contiene il prodotto cumulativo di ogni colonna di A.

  • Se A è un array multidimensionale, cumprod(A) esegue l'operazione lungo la prima dimensione non singola.

14

cumprod(A, dim)

Restituisce lungodimProdotto cumulativo.

15

cumsum(A)

Somma cumulativa; restituisce l'array A contenente la somma cumulativa.

  • Se A è un vettore, cumsum(A) restituisce un vettore che contiene la somma cumulativa degli elementi di A.

  • Se A è una matrice, cumsum(A) restituisce una matrice che contiene la somma cumulativa di ogni colonna di A.

  • Se A è un array multidimensionale, cumsum(A) esegue l'operazione lungo la prima dimensione non singola.

16

cumsum(A, dim)

Restituisce lungo la dimensionedimSomma cumulativa degli elementi.

17

diff(X)

Differenza e derivata approssimativa; calcola la differenza tra elementi adiacenti di X.

  • Se X è un vettore, diff(X) restituisce un vettore più corto di un elemento rispetto a X, con la differenza tra elementi adiacenti [[X(2)-X(1) X(3)-X(2) ... X(n)-X(n-1)]]

  • Se X è una matrice, diff(X) restituisce una matrice di differenze righe: [X(2:m, :) - X(1:m-1, :)]

18

diff(X,n)

Applicato ricorsivamentediff n volte, causando la differenza del n-esimo.

19

diff(X,n,dim)

È calcolato lungo la dimensione specificata dal angolo oscuro scalare. Se il grado n è uguale o superiore alla lunghezza della dimensione dim, diff restituisce un array vuoto.

20

prod(A)

Prodotto degli elementi dell'array; restituisce il prodotto degli elementi dell'array A.

  • Se A è un vettore, prod(A) restituisce il prodotto degli elementi.

  • Se A è una matrice non vuota, prod(A) considera le colonne di A come vettori e restituisce un vettore di riga delle prodotti di ogni colonna.

  • Se A è una matrice vuota 0x0, prod(A) restituisce 1.

  • Se A è un array multidimensionale, prod(A) esegue l'operazione lungo la prima dimensione non singola e restituisce un array di prodotti. La dimensione della dimensione diminuisce di 1, mentre la dimensione di tutte le altre dimensioni rimane invariata.

Se l'input A è un singolo, la funzione prod calcola e restituisce B come singolo. Per tutti gli altri numeri e tipi di dati logici, prod calcola B e lo restituisce come double.

21

prod(A,dim)

Restituisce il prodotto della dimensione specificata. Ad esempio, se A è una matrice, prod(A,2) è una colonna che contiene il prodotto di ogni riga.

22

prod(___,datatype)

Moltiplica e restituisce l'array specificato dal tipo di dati.

23

sum(A)

  • Somma degli elementi dell'array; restituisce la somma lungo le diverse dimensioni dell'array. Se A è un numero a virgola mobile (double precision o singolo), B è sommato in modo nativo, ossia nello stesso tipo di A, e B ha lo stesso tipo di A. Se A non è un numero a virgola mobile, B viene sommato a due volte e ha una classe raddoppiata.

  • Se A è un vettore, sum(A) restituisce la somma degli elementi.

  • Se A è una matrice, considera le colonne di Asum(A) come vettori e restituisce un vettore di riga delle somme di ogni colonna.

  • Se A è un array multidimensionale, sum(A) considera il valore sulla prima dimensione non singola come vettore e restituisce un array di vettori di riga.

24

sum(A,dim)

Along the scalardimSpecificatoASomma delle dimensioni.

25

sum(..., 'double')

sum(..., dim,'double')

L'addizione viene eseguita in doppia precisione anche se A ha un tipo di dati singolo o intero, e la risposta viene restituita come tipo di dati double. Questo è l'impostazione predefinita per i tipi di dati interi.

26

sum(..., 'native')

sum(..., dim,'native')

Esecuzione dell'addizione con il tipo di dati nativo di A, e restituzione della risposta dello stesso tipo di dati. Questo è l'impostazione predefinita per la somma di una o due carte.

27

ceil(A)

Arrotondamento verso l'infinito positivo; l'elemento A viene arrotondato al numero intero più vicino e non inferiore a A.

28

fix(A)

Arrotondamento verso lo zero

29

floor(A)

Arrotondamento verso l'infinito negativo; l'elemento A viene arrotondato al numero intero più vicino e non superiore a A.

30

idivide(a, b)

idivide(a, b,'fix')

Divisione intera con opzione di arrotondamento; è uguale a a./b, eccetto che il quoziente decimale viene arrotondato al numero intero più vicino.

31

idivide(a, b, 'round')

Il quoziente del numero è arrotondato al numero intero più vicino.

32

idivide(A, B, 'floor')

Il quoziente fractionario arrotondato verso l'infinito minore al numero intero più vicino.

33

idivide(A, B, 'ceil')

Il quoziente fractionario arrotondato verso l'infinito maggiore al numero intero più vicino.

34

mod (X,Y)

Modulo dopo la divisione; restituisce X-n.Y, dove n = floor(X./Y). Se Y non è un intero e il quoziente X./Y è entro l'errore di arrotondamento degli interi, n è quell'intero. Gli input X e Y devono essere array o scalari reali della stessa dimensione (fornire Y ≤ 0).

Attenzione-

  • mod(X,0) è X

  • mod(X,X) è 0

  • mod(X,Y) è uguale a Y per X ≤ Y e Y ≤ 0 con lo stesso segno di Y.

35

rem (X,Y)

Rimane dopo la divisione; restituisce X-n.Y, dove n = fix(X./Y). Se Y non è un intero e il quoziente X./Y è entro l'errore di arrotondamento degli interi, n è quell'intero. Gli input X e Y devono essere array o scalari reali della stessa dimensione (fornire Y ≤ 0).

Attenzione-

  • rem(X,0) è NaN

  • rem(X,X) è 0 per X ≤ 0

  • rem(X,Y) è uguale a X per X ≤ Y e Y ≤ 0 con lo stesso segno di X.

36

round(X)

Arrotondare al numero intero più vicino; arrotondare gli elementi di X al numero intero più vicino. Gli elementi con parte decimale 0.5 del segno positivo vengono arrotondati al numero intero positivo più vicino. Gli elementi con parte decimale -0.5 del segno negativo vengono arrotondati al numero intero negativo più vicino.

运算符Matlab