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