Borrar filtros
Borrar filtros

Efficient way to sum the components of a matrix

1 visualización (últimos 30 días)
Joshua
Joshua el 24 de Jun. de 2014
Comentada: Joshua el 24 de Jun. de 2014
I have an array of unknown dimensions. I want to sum the values of this array. I need to do this many times. My current code is:
% Determine the number of dimensions in the array.
m = ndims(x);
% Assign the value of the array to a temporary working array, 'temp'.
temp = x;
% Calculate the total of the working array, 'temp'.
for i = 1:m
temp = sum(temp);
end
I have to do this many many times, and profile viewer is showing the command 'sum' as taking a large portion of time. Is there a more efficient way of doing this, or am I just stuck with this method?
  5 comentarios
José-Luis
José-Luis el 24 de Jun. de 2014
By default, it will perform the sum along the first non-singleton dimension.
Joshua
Joshua el 24 de Jun. de 2014
Sorry, I didn't make it very clear. I have an array of unknown dimension and I want to sum up all of the values within that array.
x = [ 0 1 ; 2 3]
code to sum all of the values across all dimensions...
temp = 6

Iniciar sesión para comentar.

Respuesta aceptada

Joseph Cheng
Joseph Cheng el 24 de Jun. de 2014
if you are just looking for the total sum of the n dimensional array, then you can just do sum(temp(:));

Más respuestas (0)

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by