
Double sum with upper limits
    18 views (last 30 days)
  
       Show older comments
    
Hi
I am trying to do the following calululation in matlab:

But I do not how how to do the two sums in the front. Our data (d) is a 67x120 array.
Any suggestions would be appreciated :)
2 Comments
Accepted Answer
  Guillaume
      
      
 on 2 Mar 2020
        
      Edited: Guillaume
      
      
 on 2 Mar 2020
  
      s = (1:size(d, 1)).';
result = sum(sum(d .* cos(s))) / sum(cos(s));
Loops not needed, they're just a waste of time.
3 Comments
  Guillaume
      
      
 on 2 Mar 2020
				Yes, I made a mistake, there was a sum missing in the denominator. I assumed that the  could be taken out of the double sum, i.e. it's over the whole range. It's not clear and we didn't get an answer to Darova's question. So, my code implement:
 could be taken out of the double sum, i.e. it's over the whole range. It's not clear and we didn't get an answer to Darova's question. So, my code implement:
 could be taken out of the double sum, i.e. it's over the whole range. It's not clear and we didn't get an answer to Darova's question. So, my code implement:
 could be taken out of the double sum, i.e. it's over the whole range. It's not clear and we didn't get an answer to Darova's question. So, my code implement:
If it's a partial sum as you think, then:
s = (1:size(d, 1)).';
result = sum(sum(d .* cos(s) ./ cumsum(cos(s))));
which implements

More Answers (1)
  Luna
      
 on 2 Mar 2020
        Maybe something like that would help: 
d = rand(67,120);
sum_of_cos_s = 0;
result = 0;
for s = 1:67 
    for j = 1:120
       sum_of_cos_s = sum_of_cos_s+cos(s);
       result = result + (d(s,j)*cos(s))/sum_of_cos_s;        
    end
end
0 Comments
See Also
Categories
				Find more on Logical in Help Center and File Exchange
			
	Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

