Main Content

La traduzione di questa pagina non è aggiornata. Fai clic qui per vedere l'ultima versione in inglese.

sum

Sommare gli elementi dell’array

Descrizione

S = sum(A) restituisce la somma degli elementi di A lungo la prima dimensione dell’array la cui dimensione è maggiore di 1.

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

  • Se A è una matrice, sum(A) restituisce un vettore riga contenente la somma di ciascuna colonna.

  • Se A è un array multidimensionale, sum(A) opera lungo la prima dimensione dell’array la cui grandezza è maggiore di 1, trattando gli elementi come vettori. La grandezza di S in questa dimensione diventa 1, mentre le grandezze di tutte le altre dimensioni rimangono le stesse come in A.

  • Se A è una tabella o un orario, sum(A) restituisce una tabella a una riga contenente la somma di ciascuna variabile. (da R2023a)

esempio

S = sum(A,"all") restituisce la somma di tutti gli elementi di A.

esempio

S = sum(A,dim) restituisce la somma lungo la dimensione dim. Ad esempio, se A è una matrice, sum(A,2) restituisce un vettore colonna contenente la somma di ciascuna riga.

esempio

S = sum(A,vecdim) somma gli elementi di A sulla base delle dimensioni specificate nel vettore vecdim. Ad esempio, se A è una matrice, sum(A,[1 2]) restituisce la somma di tutti gli elementi in A poiché ogni elemento di una matrice è contenuto nella porzione di array definita dalle dimensioni 1 e 2.

esempio

S = sum(___,outtype) restituisce la somma con il tipo di dati specificato, utilizzando uno qualsiasi degli argomenti di input nelle sintassi precedenti. outtype può essere "default", "double" o "native".

esempio

S = sum(___,nanflag) specifica se includere o ometter i valori NaN in A. Ad esempio, sum(A,"omitnan") ignora i valori NaN nel calcolare la somma. Per impostazione predefinita, sum include i valori NaN.

esempio

Esempi

comprimi tutto

Creare un vettore e calcolare la somma dei suoi elementi.

A = 1:10;
S = sum(A)
S = 55

Creare una matrice e calcolare la somma degli elementi in ciascuna colonna.

A = [1 3 2; 4 2 5; 6 1 4]
A = 3×3

     1     3     2
     4     2     5
     6     1     4

S = sum(A)
S = 1×3

    11     6    11

Creare una matrice e calcolare la somma degli elementi in ciascuna riga.

A = [1 3 2; 4 2 5; 6 1 4]
A = 3×3

     1     3     2
     4     2     5
     6     1     4

S = sum(A,2)
S = 3×1

     6
    11
    11

Utilizzare un argomento di dimensione del vettore per operare su porzioni specifiche di un array.

Creare un array tridimensionale i cui elementi siano 1.

A = ones(4,3,2);

Per sommare tutti gli elementi in ciascuna pagina di A, specificare le dimensioni in cui la somma (riga e colonna) deve essere eseguita, utilizzando un argomento di dimensione del vettore. Poiché entrambe le pagine sono una matrice di uno 4x3, la somma di ciascuna pagina è 12.

S1 = sum(A,[1 2])
S1 = 
S1(:,:,1) =

    12


S1(:,:,2) =

    12

Se si taglia una porzione di A lungo la prima dimensione, è possibile sommare gli elementi delle 4 pagine risultanti, che sono ciascuna una matrice 3x2.

S2 = sum(A,[2 3])
S2 = 4×1

     6
     6
     6
     6

Tagliando una porzione lungo la seconda dimensione, la somma di ciascuna pagina viene eseguita su una matrice 4x2.

S3 = sum(A,[1 3])
S3 = 1×3

     8     8     8

Per calcolare la somma su tutte le dimensioni di un array, è possibile specificare ciascuna dimensione nell'argomento di dimensione del vettore, oppure utilizzare l'opzione "all".

S4 = sum(A,[1 2 3])
S4 = 24
Sall = sum(A,"all")
Sall = 24

Creare un array di uno 4x2x3 e calcolare la somma lungo la terza dimensione.

A = ones(4,2,3);
S = sum(A,3)
S = 4×2

     3     3
     3     3
     3     3
     3     3

Creare un vettore di numeri interi a 32 bit e calcolare la somma int32 dei suoi elementi, specificando il tipo di output come native.

A = int32(1:10);
S = sum(A,"native")
S = int32
    55

Creare una matrice contenente valori NaN.

A = [1.77 -0.005 NaN -2.95; NaN 0.34 NaN 0.19]
A = 2×4

    1.7700   -0.0050       NaN   -2.9500
       NaN    0.3400       NaN    0.1900

Calcolare la somma della matrice, escludendo i valori NaN. Per le colonne della matrice che contengono qualsiasi valore NaN, sum esegue il calcolo con gli elementi che non sono NaN. Per le colonne della matrice che contengono tutti valori NaN, la somma è pari a 0.

S = sum(A,"omitnan")
S = 1×4

    1.7700    0.3350         0   -2.7600

Argomenti di input

comprimi tutto

Array di input, specificato come vettore, matrice, array multidimensionale, tabella o orario.

  • Se A è uno scalare, sum(A) restituisce A.

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

Tipi di dati: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | duration | table | timetable
Supporto numeri complessi:

Dimensione lungo la quale operare, specificata come scalare intero positivo. Se non si specifica la dimensione, per impostazione predefinita viene considerata la prima dimensione dell'array la cui grandezza è maggiore di 1.

La dimensione dim indica la dimensione la cui lunghezza si riduce a 1. La size(S,dim) è 1, mentre le grandezze di tutte le altre dimensioni rimangono invariate.

Considerare un array di input a due dimensioni, A:

  • sum(A,1) opera sugli elementi successivi nelle colonne di A e restituisce un vettore riga delle somme di ciascuna colonna.

    sum(A,1) column-wise computation.

  • sum(A,2) opera sugli elementi successivi nelle righe di A e restituisce un vettore colonna delle somme di ciascuna riga.

    sum(A,2) row-wise computation.

sum restituisce A quando dim è maggiore di ndims(A) o quando size(A,dim) è 1.

Tipi di dati: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Vettore di dimensioni, specificato come vettore di numeri interi positivi. Ciascun elemento rappresenta una dimensione dell'array di input. Le lunghezze dell’output nelle dimensioni operative specificate sono 1, mentre le altre rimangono invariate.

Considerare un array di input 2x3x3, A. Quindi, sum(A,[1 2]) restituisce un array 1x1x3 i cui elementi sono le somme di ciascuna pagina di A.

sum(A,[1 2]) collapses the pages of a 2-by-3-by-3 array into a 1-by-1-by-3 array.

Tipi di dati: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Tipo di dati di output, specificato come "default", "double" o "native". Queste opzioni specificano inoltre il tipo di dati in base al quale viene eseguita l'operazione.

outtypeTipo di dati di output
"default"double, a meno che il tipo di dati di input non sia single, duration, ,table o timetable, nel qual caso l’output è "native"
"double"double, a meno che il tipo di dati non sia duration,, table o timetable, nel qual caso "double" non è supportato
"native"Stesso tipo di dati di input, a meno che il tipo di dati di input non sia char, nel qual caso "native" non è supportato; o nel caso in cui il tipo di dati di input non sia timetable, nel qual caso il tipo di dati di output è table

Condizione di valore mancante, specificata come uno dei seguenti valori:

  • "includemissing" o "includenan": include i valori NaN in A nel calcolare la somma. Se qualsiasi elemento della dimensione operativa è NaN, l’elemento corrispondente in S è NaN. "includemissing" e "includenan" si comportano allo stesso modo.

  • "omitmissing" o "omitnan": ignora i valori NaN in A e calcola la somma su pochi punti. Se tutti gli elementi della dimensione operativa sono NaN, l’elemento corrispondente in S è 0. "omitmissing" e "omitnan" si comportano allo stesso modo.

Funzionalità estese

Cronologia versioni

Introduzione prima di R2006a

espandi tutto

Vedi anche

| | |