How do I plot every nth vector of this Fourier series?

1 view (last 30 days)
I would like to plot every nth outcome (f) of this Fourier series function but don't know how to do it. Can anyone help me and show me how that can be done?
t = 0:.02:2*pi; % Graph time, interval between 0 and 2pi
f = 0*t; % Make function variable same as time
for n = 1:1:1000;
if mod(n,2)==1 % only use when n is a odd number
b_n = ((4)/(n*pi)) % calc of bn
f_n = b_n*sin(n*t) % calc of bn times summotation
f = f + f_n; % add to last
end
end
plot(t,f,'-');
grid on;
xlabel('t');
ylabel('f(t)');
title(strcat('The building of a square wave: Gibbs'' effect'));

Answers (1)

Mischa Kim
Mischa Kim on 17 Sep 2016
Edited: Mischa Kim on 17 Sep 2016
Hi Kristinn, do you mean something like this:
t = 0:.02:2*pi; % Graph time, interval between 0 and 2pi
f = 0*t; % Make function variable same as time
hold on
plot_n = 5;
for n = 1:1:1000
if mod(n,2)==1 % only use when n is a odd number
b_n = ((4)/(n*pi)); % calc of bn
f_n = b_n*sin(n*t); % calc of bn times summotation
f = f + f_n; % add to last
end
if ~mod(n,plot_n)
plot(t,f)
end
end
grid on;
xlabel('t');
ylabel('f(t)');
title(strcat('The building of a square wave: Gibbs'' effect'));
  5 Comments
Mischa Kim
Mischa Kim on 17 Sep 2016
Absolutely correct. In the code above every 5th line is plotted.

Sign in to comment.

Categories

Find more on 2-D and 3-D Plots in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!