MATLAB Answers

2D summation loop

2 views (last 30 days)
John Allen
John Allen on 22 Aug 2019
Commented: James Tursa on 23 Aug 2019
How do I create this in MATLAB?
formula.png

  2 Comments

James Tursa
James Tursa on 22 Aug 2019
What have you done so far? What specific problems are you having with your code? Do you know how to write a for-loop, or use the sum( ) function, or use the diff( ) function, or use the .* operator?
John Allen
John Allen on 22 Aug 2019
Yes, I know all of those, just never did it like this, so totally confused how to structure this one.

Sign in to comment.

Accepted Answer

James Tursa
James Tursa on 23 Aug 2019
Edited: James Tursa on 23 Aug 2019
Take the denominator for instance. Literally written out, this would be
denominator = 0;
for k=1:K
denominator = denominator + B(k,j)^2;
end
Or, assuming the first dimension of B is K, then you could use the sum( ) function:
denominator = sum(B(:,j).^2);
You can construct similar code for the numerator.
Probably best if you code everything up using for-loops just to get something running that works. Then you can simplify things with the sum( ) and diff( ) functions. It is possible to do the entire operation to construct ds without loops.

  4 Comments

Show 1 older comment
James Tursa
James Tursa on 23 Aug 2019
"So, wouldn't I need a nested 2d loop to go over both K and J ?"
Yes. The code I had written above was only for the denominator part of the j'th element of ds.
I would still suggest you write out the looping code first to get some correct code running. Then you can worry about simplifying it using sum( ) and diff( ) etc.
John Allen
John Allen on 23 Aug 2019
OK, thank you very much, I think I get it now, I marked answer as accepted.
Thanks again! :)
James Tursa
James Tursa on 23 Aug 2019
If you have trouble, don't hesitate to post your current code and the problems you are having and we can still help you.

Sign in to comment.

More Answers (0)

Sign in to answer this question.