Efficient way to sum the components of a matrix
2 ビュー (過去 30 日間)
古いコメントを表示
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 件のコメント
José-Luis
2014 年 6 月 24 日
By default, it will perform the sum along the first non-singleton dimension.
採用された回答
Joseph Cheng
2014 年 6 月 24 日
if you are just looking for the total sum of the n dimensional array, then you can just do sum(temp(:));
0 件のコメント
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Data Type Identification についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!