How to expand a summation with different indexes
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
How to expand a summation with different indexes like this?
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/149648/image.jpeg)
Any help would be appreciated.
4 commentaires
Réponses (4)
Thorsten
le 2 Oct 2015
sum(diff(f(1:4)).*n(1:3).*arrayfun(@(x) sum(m(x:end)), 3:5))
7 commentaires
Muthu Annamalai
le 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
le 2 Oct 2015
Modifié(e) : Sean de Wolski
le 2 Oct 2015
sum(diff(f(1:4)).*n(1:3).*sum(m(3:5)))
5 commentaires
Thorsten
le 2 Oct 2015
Modifié(e) : Thorsten
le 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.
Voir également
Catégories
En savoir plus sur Matrix Indexing 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!