How to expand a summation with different indexes
1 view (last 30 days)
Show older comments
How to expand a summation with different indexes like this?
Any help would be appreciated.
4 Comments
Answers (4)
Thorsten
on 2 Oct 2015
sum(diff(f(1:4)).*n(1:3).*arrayfun(@(x) sum(m(x:end)), 3:5))
7 Comments
Muthu Annamalai
on 2 Oct 2015
@Thorsten : nice solution exploiting fact that each sum is independent of the other index, i and j, we may use dot products to compute the inner loop, and repeat it again for index i. I wonder if there is also a way to do it with mesgrid() and matrix products.
Sean de Wolski
on 2 Oct 2015
Edited: Sean de Wolski
on 2 Oct 2015
sum(diff(f(1:4)).*n(1:3).*sum(m(3:5)))
5 Comments
Thorsten
on 2 Oct 2015
Edited: Thorsten
on 2 Oct 2015
Sean, yes, i is 1:3, so the starting index of j is 3:5, so the sum runs for j = 3:5 for i = 1, j = 4:5 for i = 2, and j = 5 for i = 3, i.e., assumes values sum(m(3:5)), sum(m(4:5)) and sum(m(5)) for i=1,2,3. You forgot to sum over the different m(j), as far as I can see.
See Also
Categories
Find more on Matrix Indexing 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!