HOWTO · MATLAB
Obtenga el promedio de un arreglo con la función mean() en MATLAB
Uno puede encontrar la media o el promedio de un array usando la función mean() en MATLAB.
En esta página
Use la función mean de MATLAB para calcular el promedio de un vector o los promedios a lo largo de una dimensión de una matriz. En una matriz bidimensional típica, mean(A) devuelve un promedio por columna; use mean(A,2) para obtener un promedio por fila. El ejemplo del vector muestra 4 y se ejecutó correctamente.
Calcular el promedio de un arreglo con la función mean de MATLAB
Para un vector, pase el vector como argumento a mean. Este ejemplo completo e independiente usa sintaxis compatible con Octave y también es código válido de MATLAB:
Ejecute este ejemplo:
values = [2, 4, 6];
average = mean(values);
disp(average)
4
Para una matriz A, MATLAB aplica mean(A) a lo largo de la primera dimensión no unitaria. En una matriz común, esa dimensión es la 1, por lo que el resultado es un vector fila con los promedios de las columnas. Use mean(A,2) para seleccionar la dimensión 2; devuelve un vector columna con los promedios de las filas. En el resultado, la dimensión seleccionada se reduce a uno y se conserva la otra dimensión.
También puede especificar el tipo de salida. Por ejemplo, mean(A,'double') solicita una salida de tipo double y usa la dimensión predeterminada, mientras que mean(A,2,'double') combina el cálculo por filas con ese tipo de salida. La opción de tipo no selecciona la dimensión.
Calcular promedios de arreglos con sum y división
El promedio se obtiene al dividir la suma de los valores por su cantidad. Para calcular un único promedio de todos los elementos de una matriz, conviértala en un vector con A(:) y divida sum(A(:)) entre numel(A). numel cuenta todos los elementos; length devuelve el tamaño de la dimensión más larga, por lo que no sirve en general para contar los elementos de una matriz.
Para calcular promedios por dimensión, use una suma y la cantidad correspondiente. Los promedios por columna se pueden expresar como sum(A,1) ./ size(A,1): se divide la suma de cada columna entre la cantidad de filas. Los promedios por fila se pueden expresar como sum(A,2) ./ size(A,2): se divide la suma de cada fila entre la cantidad de columnas. El divisor debe contar los valores incluidos en la suma correspondiente.
Este método manual resulta útil para entender cómo se hace el cálculo o adaptarlo. Para los cálculos habituales, mean expresa el propósito de forma más directa.
Calcular promedios de arreglos con un bucle
Un bucle permite ver el paso de acumulación. En el ejemplo, el total del vector es un escalar, los totales de las columnas forman un vector fila y los totales de las filas, un vector columna. El bucle de columnas suma cada fila y divide entre la cantidad de filas; el bucle de filas suma cada columna y divide entre la cantidad de columnas.
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);
Estos patrones con bucles son alternativas educativas. Para un vector, numel(values) cuenta todas las entradas. Para un resultado matricial, use la cantidad de filas para los promedios por columna o la cantidad de columnas para los promedios por fila. La función integrada mean de MATLAB resulta más clara para los cálculos habituales.
Elegir un método
Use mean para los cálculos habituales de promedios de vectores, columnas o filas: su argumento de dimensión deja claro el resultado deseado y evita tener que mantener una cantidad aparte. Use sum con un divisor que tenga en cuenta la dimensión cuando necesite mostrar o adaptar la operación aritmética. Use un bucle para aprender cómo funciona la acumulación o cuando el cálculo incluya lógica adicional para cada elemento. En todos los métodos, asegúrese de que el divisor corresponda a los valores incluidos en la suma.