MATLAB Answers


2D summation loop

Asked by John Allen on 22 Aug 2019
Latest activity Commented on by James Tursa
on 23 Aug 2019
How do I create this in MATLAB?


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 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.

1 Answer

James Tursa
Answer by James Tursa
on 23 Aug 2019
Edited by James Tursa
on 23 Aug 2019
 Accepted Answer

Take the denominator for instance. Literally written out, this would be
denominator = 0;
for k=1:K
denominator = denominator + B(k,j)^2;
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.


Show 1 older comment
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 on 23 Aug 2019
OK, thank you very much, I think I get it now, I marked answer as accepted.
Thanks again! :)
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.