Azzera filtri
Azzera filtri

Efficient way to sum the components of a matrix

1 visualizzazione (ultimi 30 giorni)
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 Commenti
José-Luis
José-Luis il 24 Giu 2014
By default, it will perform the sum along the first non-singleton dimension.
Joshua
Joshua il 24 Giu 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

Accedi per commentare.

Risposta accettata

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

Più risposte (0)

Categorie

Scopri di più su Loops and Conditional Statements in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by