Main Content

sum

Summe von Array-Elementen

Beschreibung

Beispiel

S = sum(A) gibt die Summe der Elemente von A entlang der ersten Array-Dimension zurück, die größer als 1 ist.

  • Wenn A ein Vektor ist, gibt sum(A) die Summe der Elemente zurück.

  • Wenn A eine Matrix ist, gibt sum(A) einen Zeilenvektor zurück, der die Summe jeder Spalte enthält.

  • Wenn A ein mehrdimensionales Array ist, erfolgt die Operation von sum(A) entlang der ersten Array-Dimension, die größer als 1 ist. Die Elemente werden dabei als Vektoren verarbeitet. Die Größe von S in dieser Dimension wird 1, während die Größen aller anderen Dimensionen den Wert in A beibehalten.

  • Wenn A eine Tabelle oder ein Timetable ist, gibt sum(A) eine einzeilige Tabelle zurück, die die Summe jeder Variablen enthält. (seit R2023a)

Beispiel

S = sum(A,"all") gibt die Summe aller Elemente von A zurück.

Beispiel

S = sum(A,dim) gibt die Summe entlang der Dimension dim zurück. Wenn A beispielsweise eine Matrix ist, gibt sum(A,2) einen Spaltenvektor zurück, der die Summe jeder Zeile enthält.

Beispiel

S = sum(A,vecdim) summiert die Elemente von A basierend auf den Dimensionen, die im Vektor vecdim angegeben sind. Wenn beispielsweise A eine Matrix ist, gibt sum(A,[1 2]) die Summe aller Elemente in A zurück, da jedes Element einer Matrix in der Array-Schicht enthalten ist, die von den Dimensionen 1 und 2 definiert wird.

Beispiel

S = sum(___,outtype) gibt die Summe mit dem angegebenen Datentyp zurück und verwendet dazu beliebige Eingabeargumente in den vorherigen Syntaxen. outtype kann "default", "double" oder "native" sein.

Beispiel

S = sum(___,nanflag) gibt an, ob NaN-Werte in A berücksichtigt oder weggelassen werden sollen. Beispielsweise werden mit sum(A,"omitnan") alle NaN-Werte beim Berechnen der Summe ignoriert. Mit sum werden NaN-Werte standardmäßig berücksichtigt.

Beispiele

alle reduzieren

Erstellen Sie einen Vektor und berechnen Sie die Summe seiner Elemente.

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

Erstellen Sie eine Matrix und berechnen Sie die Summe der Elemente in jeder Spalte.

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

Erstellen Sie eine Matrix und berechnen Sie die Summe der Elemente in jeder Zeile.

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

Verwenden Sie ein Vektordimensions-Argument, um die Funktion für bestimmte Schichten eines Arrays auszuführen.

Erstellen Sie ein dreidimensionales Array, dessen Elemente 1 sind.

A = ones(4,3,2);

Zum Summieren aller Elemente auf jeder Seite von A geben Sie mithilfe eines Vektordimensions-Arguments die Dimensionen an, in denen die Summe gebildet werden soll (Zeile und Spalte). Da beide Seiten 4x3-Matrizen von Einsen sind, ist die Summe jeder Seite 12.

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

    12


S1(:,:,2) =

    12

Wenn Sie Schichten von A entlang der ersten Dimension bilden, können Sie die Summe der Elemente der resultierenden 4 Seiten bilden, bei denen es sich um 3x2-Matrizen handelt.

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

     6
     6
     6
     6

Wenn Sie Schichten entlang der zweiten Dimension bilden, wird jede Seitensumme über eine 4x2-Matrix gebildet.

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

     8     8     8

Zum Berechnen der Summe über alle Dimensionen eines Arrays können Sie entweder jede Dimension im Vektordimensionsargument angeben oder die Option "all" verwenden.

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

Erstellen Sie ein 4x2x3-Array aus Einsen und berechnen Sie die Summe entlang der dritten Dimension.

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

     3     3
     3     3
     3     3
     3     3

Erstellen Sie einen Vektor mit 32-Bit-Ganzzahlen und berechnen Sie die int32-Summe seiner Elemente, indem Sie den Ausgabetyp als native angeben.

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

Erstellen Sie eine Matrix, die NaN-Werte enthält.

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

Berechnen Sie die Summe der Matrix und schließen Sie dabei NaN-Werte aus. Für Matrixspalten, die einen NaN-Wert enthalten, führt sum die Berechnung mit den Elementen aus, die keine NaN-Elemente sind. Für Matrixspalten, die alle NaN-Werte enthalten, ist die Summe 0.

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

    1.7700    0.3350         0   -2.7600

Eingabeargumente

alle reduzieren

Eingabearray (Input Array), angegeben als Vektor, Matrix, mehrdimensionales Array, Tabelle oder Timetable.

  • Wenn A ein Skalar ist, gibt sum(A) A zurück.

  • Wenn A eine leere 0x0-Matrix ist, gibt sum(A) 0 zurück.

Datentypen: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | duration | table | timetable
Unterstützung komplexer Zahlen: Ja

Dimension, entlang der die Operation erfolgt, angegeben als positiver ganzzahliger Skalar. Wenn Sie die Dimension nicht angeben, wird standardmäßig die erste Array-Dimension verwendet, die größer als 1 ist.

Die Dimension dim gibt die Dimension an, deren Länge auf 1 reduziert wird. size(S,dim) ist 1, während die Größen aller anderen Dimensionen unverändert bleiben.

Angenommen, es liegt ein zweidimensionales Eingabearray, A, vor:

  • sum(A,1) kann für aufeinanderfolgende Elemente in den Spalten von A ausgeführt werden und gibt einen Zeilenvektor der Summen jeder Spalte zurück.

    sum(A,1) column-wise computation.

  • sum(A,2) wird für aufeinanderfolgende Elemente in den Zeilen von A ausgeführt und gibt einen Spaltenvektor der Summen jeder Zeile zurück.

    sum(A,2) row-wise computation.

sum gibt A zurück, wenn dim größer als ndims(A) ist oder wenn size(A,dim) gleich 1 ist.

Datentypen: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Vektor aus Dimensionen, angegeben als Vektor positiver Ganzzahlen. Jedes Element stellt eine Dimension des Eingabearray dar. Die Längen der Ausgabe in den angegebenen Ausführungsdimensionen sind gleich 1, während die anderen unverändert bleiben.

Angenommen, es liegt ein 2x3x3-Eingabearray, A, vor. Dann gibt sum(A,[1 2]) ein 1x1x3-Array zurück, dessen Elemente die Summen der einzelnen Seiten von A sind.

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

Datentypen: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Ausgabedatentyp, angegeben als "default", "double" oder "native". Diese Optionen geben auch den Datentyp an, in dem die Operation ausgeführt wird.

outtypeAusgabedatentyp
"default"double, sofern der Eingabedatentyp nicht single, duration, table oder timetable ist (in diesem Fall ist die Ausgabe "native").
"double"double, sofern der Datentyp nicht duration, table oder timetable ist (in diesem Fall wird "double" nicht unterstützt).
"native"Gleicher Datentyp wie die Eingabe, sofern der Eingabedatentyp nicht char ist (in diesem Fall wird "native" nicht unterstützt) oder sofern der Eingabedatentyp nicht timetable ist (in diesem Fall ist der Ausgabedatentyp table).

Bedingung für fehlende Werte, angegeben als einer dieser Werte:

  • "includemissing" oder "includenan"NaN-Werte in A werden beim Berechnen der Summe berücksichtigt. Wenn eines der Elemente in der Ausführungsdimension NaN ist, dann ist das entsprechende Element in S NaN. "includemissing" und "includenan" weisen dasselbe Verhalten auf.

  • "omitmissing" oder "omitnan"NaN-Werte in A werden ignoriert und die Summe wird über weniger Punkte berechnet. Wenn alle Elemente in der Ausführungsdimension NaN sind, dann ist das entsprechende Element in S 0. "omitmissing" und "omitnan" weisen dasselbe Verhalten auf.

Erweiterte Fähigkeiten

Versionsverlauf

Eingeführt vor R2006a

alle erweitern

Siehe auch

| | |