Summation of a series without for loop
3 次查看(过去 30 天)
显示 更早的评论
Fourier series of a square wave can be represented as:
F(t)=(4/pi)*sum(1/(2k+1)*sin((2k+1)pi*t/T)
Where, sum is over k=0 to inf, T is period = 1. I need to plot F(t) for first 10 terms in the series. I can do this using loops, but is there any way to do this without any loop?
0 个评论
采纳的回答
Shoaibur Rahman
2014-12-28
Yes you can do this! Use vectorization technique. Try to understand the line F = ... in the following code. If you get any hard time with this, please let me know. This is a great question though.
T = 1; t = -3:0.01:3; % change time vector as what you need
n = 10; k = 0:n-1; % n is the number of terms
F = 4/pi * (1./(2*k+1)) * sin(((2*k+1)'*pi*t)/T);
plot(t,F)
3 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 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!