Is there a concise way of summing over multiple dimensions of an array?
17 views (last 30 days)
Show older comments
Hello all,
Is there a concise way of summing over multiple dimensions, i.e. using just one sum function? I know if I have a defined array A, then I can do:
sum(A(:));
But what if I want to sum over a range of that array or some kind of calculated array? I would either have to use sum of sum of sum and so on to get the total sum or assign a variable to that temporary array? Thank you!
Accepted Answer
More Answers (2)
Pooja Lalan
on 7 Nov 2018
Edited: Pooja Lalan
on 7 Nov 2018
Starting in R2018b, you can use this syntax
sum( SomeArray(1:18, 5:43, :, 2:9), 'all' )
sum( SomeArray(1:18, 5:43, :, 2:9), [1 2 3 4] )
0 Comments
Guillaume
on 4 Dec 2017
Not sure it is concise, it avoids the multiple sum:
sum(reshape(A(yourange), 1, []))
See Also
Categories
Find more on Matrices and Arrays in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!