HOWTO · MATLAB

Durchschnitt eines Arrays mit der Funktion mean() in MATLAB ermitteln

Mit der Funktion mean() in MATLAB kann man den Mittelwert oder Durchschnitt eines Arrays ermitteln.

Auf dieser Seite

Verwenden Sie die MATLAB-Funktion mean, um den Mittelwert eines Vektors oder die Mittelwerte entlang einer Matrixdimension zu berechnen. Bei einer typischen zweidimensionalen Matrix liefert mean(A) einen Mittelwert pro Spalte; mit mean(A,2) erhalten Sie einen Mittelwert pro Zeile. Das Vektorbeispiel unten gibt 4 aus und wurde erfolgreich ausgeführt.

Einen Array-Mittelwert mit MATLABs Funktion mean berechnen

Übergeben Sie mean den Vektor als Eingabe, um seinen Mittelwert zu berechnen. Das vollständige, eigenständige Beispiel verwendet eine mit Octave kompatible Syntax und ist auch gültiger MATLAB-Code:

Führen Sie dieses Beispiel aus:

values = [2, 4, 6];
average = mean(values);
disp(average)
4

Bei einer Matrix A wendet MATLAB mean(A) entlang der ersten Dimension an, deren Größe nicht eins ist. Bei einer gewöhnlichen Matrix ist das Dimension 1; das Ergebnis ist daher ein Zeilenvektor mit den Mittelwerten der Spalten. Mit mean(A,2) wählen Sie Dimension 2 aus und erhalten einen Spaltenvektor mit den Mittelwerten der Zeilen. Die ausgewählte Dimension wird im Ergebnis auf eins reduziert, während die andere Dimension erhalten bleibt.

Sie können auch den Ausgabetyp angeben. Beispielsweise fordert mean(A,'double') eine Ausgabe vom Typ double an und verwendet dabei die Standarddimension. mean(A,2,'double') kombiniert die Berechnung zeilenweise mit diesem Ausgabetyp. Die Typoption legt die Dimension nicht fest.

Array-Mittelwerte mit sum und Division berechnen

Ein Mittelwert ist die Summe der Werte geteilt durch ihre Anzahl. Für einen einzigen Gesamtmittelwert über alle Elemente einer Matrix können Sie die Matrix mit A(:) in einen Vektor umformen und sum(A(:)) durch numel(A) teilen. numel zählt alle Elemente; length gibt die Länge der längsten Dimension zurück und ist deshalb kein allgemeiner Ersatz für die Anzahl der Matrixelemente.

Für Mittelwerte entlang einer Dimension benötigen Sie eine Summe und die dazu passende Anzahl. Die Spaltenmittelwerte lassen sich als sum(A,1) ./ size(A,1) berechnen: Dabei wird jede Spaltensumme durch die Anzahl der Zeilen geteilt. Für die Zeilenmittelwerte verwenden Sie sum(A,2) ./ size(A,2): Jede Zeilensumme wird durch die Anzahl der Spalten geteilt. Der Divisor muss die Werte zählen, die in der jeweiligen Summe enthalten sind.

Diese manuelle Methode veranschaulicht die Berechnung und lässt sich anpassen. Für übliche Berechnungen drückt mean die Absicht direkter aus.

Array-Mittelwerte mit einer Schleife berechnen

Eine Schleife macht den Akkumulationsschritt sichtbar. Im Beispiel ist die Summe des Vektors ein Skalar, die Spaltensummen bilden einen Zeilenvektor und die Zeilensummen einen Spaltenvektor. Die Schleife für Spalten addiert jede Zeile und teilt durch die Anzahl der Zeilen; die Schleife für Zeilen addiert jede Spalte und teilt durch die Anzahl der Spalten.

values = [2, 4, 6];
vectorTotal = 0;
for k = 1:numel(values)
    vectorTotal = vectorTotal + values(k);
end
vectorMean = vectorTotal / numel(values);

A = [1, 2; 3, 4; 5, 6];
columnTotals = zeros(1, size(A, 2));
for row = 1:size(A, 1)
    columnTotals = columnTotals + A(row, :);
end
columnMeans = columnTotals / size(A, 1);

rowTotals = zeros(size(A, 1), 1);
for column = 1:size(A, 2)
    rowTotals = rowTotals + A(:, column);
end
rowMeans = rowTotals / size(A, 2);

Diese Schleifen sind lehrreiche Alternativen. Bei einem Vektor zählt numel(values) alle Einträge. Für ein Matrixergebnis verwenden Sie bei Spaltenmittelwerten die Zeilenanzahl und bei Zeilenmittelwerten die Spaltenanzahl. Für übliche Berechnungen ist MATLABs eingebaute Funktion mean klarer.

Eine Methode auswählen

Verwenden Sie mean für die üblichen Berechnungen eines Vektor-, Spalten- oder Zeilenmittelwerts: Das Dimensionsargument macht das gewünschte Ergebnis deutlich und erspart eine separate Zählung. Verwenden Sie sum mit einem an die Dimension angepassten Divisor, wenn Sie die Rechnung zeigen oder anpassen möchten. Eine Schleife eignet sich, wenn Sie die Akkumulation nachvollziehen lernen oder die Berechnung zusätzliche Logik für einzelne Elemente enthält. Achten Sie bei jeder Methode darauf, dass der Divisor zur Anzahl der summierten Werte passt.