MATLAB: Inner loop not working

for loophomeworkinner loop

Hi, I am trying to run the following code with a nested loop. It seems that for each value of i the inner loop works only once, that is only for k=0 and does not run for the rest of the values of k. Any advice will be highly appreciated. If you need any further information, please let me know.
N.B. I deliberately avoided writing out the full question that I am trying to solve since it's a homework question and I don't want specific answers to be publicly available.
function summa=my_func(n)
t=linspace(0,4*pi, 1001);
len=length(t);
summa=zeros(1,len);
b=0;
for i=1:1001
for k=0:n
numerat=((-1)^k)*sin((2*k+1)*t(i));
denomat= ((2*k)+1)^2;
b=b+ (numerat/denomat);
end
summa(i)=summa(i)+b;
end

Best Answer

Your code does run. You can use the debugger to check this: Set a breakpoint inside the loop (the red dots on the left), then Matlab stops there at the execution. See Matlab: Debug. Now step through the code line by line and examine the local variables in the WorkSpace-browswer or in the command window.
Because your assumption "only for k=0 and does not run for the rest" is not correct, but you do not explain, why you assume this, it is difficult to suggest an improvement. Without knowing, what the code should calculate, I cannot guess if it contains a bug.
Perhaps "b=0;" should appear inside the loop. "summa(i) = b" should be sufficient, because summa is predefined with zeros.