Filter löschen
Filter löschen

Summation of a series without for loop

4 Ansichten (letzte 30 Tage)
John
John am 28 Dez. 2014
Kommentiert: Iyad Khuder am 12 Nov. 2020
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?

Akzeptierte Antwort

Shoaibur Rahman
Shoaibur Rahman am 28 Dez. 2014
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 Kommentare
Michael Golden
Michael Golden am 15 Mär. 2017
Awesome! Many thanks!!
Iyad Khuder
Iyad Khuder am 12 Nov. 2020
That's amazing! Many thanks!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by