How to expand a summation with different indexes
Afficher commentaires plus anciens
How to expand a summation with different indexes like this?

Any help would be appreciated.
4 commentaires
John D'Errico
le 2 Oct 2015
Don't post the same question every 23 minutes.
SooShiant
le 2 Oct 2015
Stephen23
le 2 Oct 2015
@SooShiant: Please stop posting the same question again and again.
SooShiant
le 2 Oct 2015
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
SooShiant
le 2 Oct 2015
SooShiant
le 2 Oct 2015
No. It just means that I gave you the wrong, i.e, numerical answer because I overlooked that by asking to "expand" you asked for a symbolical solution. In the future such mistakes could be avoided if you define your variables as sym and ask for a symbolical solution.
SooShiant
le 2 Oct 2015
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.
SooShiant
le 2 Oct 2015
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
SooShiant
le 2 Oct 2015
Sean de Wolski
le 2 Oct 2015
Thorsten, i is 1:3 for the example so I could hardwire j.
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.
Sean de Wolski
le 2 Oct 2015
Ah, so I need to tril() that part.
SooShiant
le 2 Oct 2015
0 votes
Catégories
En savoir plus sur Matrix Indexing dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

