Efficient way to sum the components of a matrix
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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 commentaires
José-Luis
le 24 Juin 2014
By default, it will perform the sum along the first non-singleton dimension.
Réponse acceptée
Joseph Cheng
le 24 Juin 2014
if you are just looking for the total sum of the n dimensional array, then you can just do sum(temp(:));
0 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!