Kumulative Summe mit MATLAB

Ammar Ali 20 Januar 2022
Kumulative Summe mit MATLAB

In diesem Tutorial wird erläutert, wie die kumulative Summe eines Vektors oder einer Matrix mit der Funktion cumsum() in MATLAB ermittelt wird.

Ermitteln der kumulativen Summe eines Vektors oder einer Matrix mit der Funktion cumsum() in MATLAB

Wir können die eingebaute Funktion cumsum() von MATLAB verwenden, um die kumulative Summe eines Vektors oder einer Matrix zu ermitteln.

Wenn die Eingabe ein Vektor ist, dann gibt die Funktion cumsum() die kumulierte Summe der Vektorelemente zurück. Wenn die Eingabe eine Matrix ist, gibt die Funktion cumsum() die kumulierte Summe der Matrixspalten zurück.

Wenn die Eingabe ein mehrdimensionales Array ist, dann gibt die Funktion cumsum() die kumulative Summe der ersten Nicht-Singleton-Dimension zurück. Lassen Sie uns zum Beispiel die kumulative Summe der Elemente eines Vektors ermitteln.

Siehe den Code unten.

clc
v = 1:9
s = cumsum(v)

Ausgabe:

v =

     1     2     3     4     5     6     7     8     9


s =

     1     3     6    10    15    21    28    36    45

Lassen Sie uns die kumulative Summe einer Matrix ermitteln. Siehe den Code unten.

clc
v = [1:3; 1:3]
s = cumsum(v)

Ausgabe:

v =

     1     2     3
     1     2     3


s =

     1     2     3
     2     4     6

In der Ausgabe enthält die Variable s die kumulierte Summe jeder Spalte. Wir können auch die kumulative Summe der Zeilen in einer Spalte ermitteln, indem wir eine ganze Zahl als zweites Argument in der Funktion cumsum() übergeben.

Lassen Sie uns beispielsweise die kumulative Summe der Zeilen der obigen Matrix ermitteln. Siehe den Code unten.

clc
v = [1:3; 1:3]
s = cumsum(v,2)

Ausgabe:

v =

     1     2     3
     1     2     3


s =

     1     3     6
     1     3     6

In der Ausgabe enthält die Variable s die kumulierte Summe jeder Zeile.

Wir können auch die kumulative Summe der logischen Eingaben ermitteln. In diesem Fall verwendet die Funktion cumsum() 0 anstelle von false und 1 ist true, und die Antwort hat den Datentyp double.

Wir können auch die kumulative Summe in einem Vektor oder einer Matrix umkehren. Standardmäßig findet die Funktion cumsum() eine kumulative Summe beginnend von der linken Seite eines Vektors oder einer Matrix, aber wir können die kumulative Summe auch beginnend von der rechten Seite eines Vektors oder einer Matrix finden, indem wir eine String-Umkehrung innerhalb des cumsum()-Funktion.

Lassen Sie uns zum Beispiel die kumulative Summe von der rechten Seite eines Vektors ausgehend ermitteln. Siehe den Code unten.

clc
v = 1:3
s = cumsum(v,'reverse')

Ausgabe:

v =

     1     2     3


s =

     6     5     3

In der Ausgabe beginnt die Summensumme von der rechten Seite. Wenn wir NaN-Werte in einem Vektor oder einer Matrix haben und ihre kumulative Summe finden, wird die Funktion cumsum() die Ausgabewerte in NaN umwandeln, sobald der erste NaN-Wert gefunden wird.

Um den NaN-Wert zu vermeiden, können wir die Funktion anweisen, die NaN-Werte zu ignorieren, indem wir den String omitnan als Argument in der Funktion cumsum() verwenden. Lassen Sie uns zum Beispiel einen Vektor erstellen, der einige NaN-Werte enthält, und seine kumulative Summe mit der Funktion cumsum() ermitteln.

Siehe den Code unten.

clc
v = [1 NaN 5 6 7 NaN NaN]
s = cumsum(v,'omitnan')

Ausgabe:

v =

     1   NaN     5     6     7   NaN   NaN


s =

     1     1     6    12    19    19    19

Die Funktion cumsum() berechnete die kumulative Summe ohne Berücksichtigung der NaN-Werte in der Ausgabe.

Autor: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook

Verwandter Artikel - MATLAB Vector