What is the error in this computation?
2 次查看(过去 30 天)
显示 更早的评论
Here I want to plot a simple sum.
I computed it manually by iterating different values, and then did it same by using for loop, but there is some mistake, can somebody figure it out for me.
Below given is my code:
x = 0:pi/16:pi;
s = (8/(pi*(1^3)))*sin(1*x)+...
(8/(pi*(3^3)))*sin(3*x)+...
(8/(pi*(5^3)))*sin(5*x)+...
(8/(pi*(7^3)))*sin(7*x)+...
(8/(pi*(9^3)))*sin(9*x)+...
(8/(pi*(11^3)))*sin(11*x)+...
(8/(pi*(13^3)))*sin(13*x)+...
(8/(pi*(15^3)))*sin(15*x);
ss = 0;
for k =1:16
ss = ss + (8/(pi*(k^3)))*sin(k*x);
end
plot(x,s,'b-',x,ss,'r-');
Why I choose odd values in manual sum because sin(k*pi) = 0, where k=2,4,... ,but i took all (even and odd) values in for loop
The plot generated is given below:
![123.bmp](https://www.mathworks.com/matlabcentral/answers/uploaded_files/259720/123.bmp)
0 个评论
采纳的回答
Walter Roberson
2020-1-4
sin(k*pi) is 0 for integer k but you have sin(k*x) where x is a fraction of pi and that does not vanish.
3 个评论
Steven Lord
2020-1-4
In theory sin(k*pi) is 0 for integer k. In practice if you're computing sin(k*pi) consider using the sinpi function introduced in release R2018b.
sin(pi) % not exactly 0
sinpi(1) % exactly 0
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!