Summation with FOR Loop

Hello, Super noob question, but how do I do the attached picture in MatLab using a FOR loop. I just need to know how to set up the loop, not the actual values. Thanks for any help!

 采纳的回答

omega=...;
t=...;
N=...;
summe = 0.0;
for k=1:N
summe = summe + sin(omega*t*(2*k-1))/(2*k-1);
end
Best wishes
Torsten.

2 个评论

I don't think that is correct.. Given t=0:20, N=1000, omega=1, it should look like a square wave. The function basically sums a series of sine functions and approximates a square wave. Using your code, it doesn't do that... Any other ideas? Thanks!
Try
t=0:2/pi/100:2/pi
omega=1;
N=1000;
summe = 0.0;
for k=1:N
summe = summe + sin(omega*t*(2*k-1))/(2*k-1);
end
plot(t,4/pi*summe)
Best wishes
Torsten.

请先登录,再进行评论。

更多回答(3 个)

Jan
Jan 2017-4-17

0 个投票

You cannot run a loop from 1 to infinity in Matlab. Either solve the summation symbolically or find out, if this sum converges and you can use a certain number of elements to get the result with a wanted accuracy.

1 个评论

Sorry failed to mention, assume the limit of the summation is a real value input from the user. I just need the setup for the FOR loop.

请先登录,再进行评论。

Arzu Ahmadova
Arzu Ahmadova 2019-5-22

0 个投票

Hi,
Could you explain please how to code more than 2 different inifinite sums in loop?
daniel domshlak
daniel domshlak 2020-3-29

0 个投票

i=0;
x = input ('choose the initial value : ');
y = input ('choose final value : ');
n=(x:y);
summe=0;
for i=x:y
a=(i*2+1).^3;
summe = summe + a;
end
summe

3 个评论

not relevant to the qustion but I had an exersise to write a summation code not using sum function, and not found answears so i upload this.
if someone finds a way to shorten this, don't hassitate to sahare.

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Loops and Conditional Statements 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by