Upload
finnia
View
6.718
Download
1
Embed Size (px)
DESCRIPTION
Citation preview
Fourier Series Example
MATLAB Code
% ***** MATLAB Code Starts Here *****%
%FOURIER_SERIES_01_MAT
%
fig_size = [232 84 774 624];
x = [0.1 0.9 0.1]; % 1 period of x(t)
x = [x x x x]; % 4 periods of x(t)
tx = [-2 -1 0 0 1 2 2 3 4 4 5 6]; % time points for x(t)
figure(1),plot(tx,x),grid,xlabel('Time (s)'),ylabel('Amplitude'),...
title('Periodic Signal x(t)'),axis([-2 6 0 1]),...
set(gcf,'Position',fig_size)
%
a0 = 0.5; % DC component of Fourier Series
ph0 = 0;
n = [1 3 5 7 9]; % Values of n to be evaluated
an = -3.2 ./ (pi * n).^2; % Fourier Series coefficients
mag_an = abs(an);
ph_an = -180 * ones(1,length(n));
%
n = [0 n];
mag_an = [a0 mag_an]; % Including a0 with a_n
ph_an = [ph0 ph_an];
%
figure(2),clf,subplot(211),plot(n,mag_an,'o'),grid,xlabel('Harmonic Number'),...
ylabel('Magnitude'),title('Fourier Series Magnitude'),axis([0 10 0 0.6]),...
set(gcf,'Position',fig_size)
%
subplot(212),plot(n,ph_an,'o'),grid,xlabel('Harmonic Number'),...
ylabel('Phase (deg)'),title('Fourier Series Phase'),axis([0 10 -200 0]),...
set(gcf,'Position',fig_size)
%
w0 = pi; % Fundamental Frequency
t = [-2:0.002:6]; % time vector for approximations
%
x1 = 0; % approximation with DC + 1 term
for i = 1:2
x1 = x1 + mag_an(i)*cos(n(i)*w0*t + ph_an(i)*pi/180);
end
%
x2 = x1; % approximation with DC + 2 terms
i = 3;
x2 = x2 + mag_an(i)*cos(n(i)*w0*t + ph_an(i)*pi/180);
%
x3 = x2; % approximation with DC + 3 terms
i = 4;
x3 = x3 + mag_an(i)*cos(n(i)*w0*t + ph_an(i)*pi/180);
%
x4 = x3; % approximation with DC + 5 terms
for i = 5:6
x4 = x4 + mag_an(i)*cos(n(i)*w0*t + ph_an(i)*pi/180);
end
%
figure(3),subplot(221),plot(t,x1),grid,xlabel('Time (s)'),...
ylabel('Amplitude'),title('DC + 1 Term'),axis([-2 6 0 1]),...
subplot(222),plot(t,x2),grid,xlabel('Time (s)'),...
ylabel('Amplitude'),title('DC + 2 Terms'),axis([-2 6 0 1]),...
subplot(223),plot(t,x3),grid,xlabel('Time (s)'),...
ylabel('Amplitude'),title('DC + 3 Terms'),axis([-2 6 0 1]),...
subplot(224),plot(t,x4),grid,xlabel('Time (s)'),...
ylabel('Amplitude'),title('DC + 5 Terms'),axis([-2 6 0 1]),...
set(gcf,'Position',fig_size)
%
%% ***** MATLAB Code Stops Here *****
Fourier Series Example #2
MATLAB Code
% ***** MATLAB Code Starts Here *****%
%FOURIER_SERIES_02_MAT
%
fig_size = [232 84 774 624];
T0 = 8;
w0 = 2*pi/8;
t = linspace(-8,16,1001);
a0 = 0.25;
n = 1:50;
an = (1./(pi*n)) .* sin(n*pi/2);
bn = (1./(pi*n)) .* (1 - cos(n*pi/2));
x1 = a0;
for i = 1:10
x1 = x1 + an(i)*cos(i*w0*t) + bn(i)*sin(i*w0*t);
end
x2 = x1;
for i = 11:30
x2 = x2 + an(i)*cos(i*w0*t) + bn(i)*sin(i*w0*t);
end
x3 = x2;
for i = 31:50
x3 = x3 + an(i)*cos(i*w0*t) + bn(i)*sin(i*w0*t);
end
A0 = a0;
An = sqrt(an.^2 + bn.^2);
thn = atan2(-bn,an)*180/pi;
X0 = A0;
Xn = An/2;
figure(1),clf,plot([-8 -6],[1 1],'b-',[-6 -6],[1 0],'b--',[-6 0],[0 0],'b-',[0 2],[1 1],'b-',[2 8],[0 0],'b-',...
[8 10],[1 1],'b-',[10 16],[0 0],'b-',[0 0],[0 1],'b--',[2 2],[1 0],'b--',[8 8],[0 1],'b--',...
[10 10],[1 0],'b--',[16 16],[0 1],'b--'),...
axis([-8 16 -.5 1.5]),plotax,xlabel('Time (s)'),ylabel('Amplitude'),title('Periodic Pulse Train x(t)'),...
set(gcf,'Position',fig_size),text(5,-0.2,'T_0 = 8 s'),text(5,-0.3,'Pulse width = T_0/4')
figure(2),clf,subplot(311),plot(t,x1),subplot(312),plot(t,x2),subplot(313),plot(t,x3),...
subplot(311),ylabel('Amplitude'),title('Fourier Series Representation of x(t) with 10 Terms'),...
subplot(312),ylabel('Amplitude'),title('Fourier Series Representation of x(t) with 30 Terms'),...
subplot(313),ylabel('Amplitude'),title('Fourier Series Representation of x(t) with 50 Terms'),xlabel('Time (s)'),...
for i = 1:3,subplot(3,1,i),...
hold on,plot([0 2],[1 1],'r-',[2 8],[0 0],'r-',[8 10],[1 1],'r-',[10 16],[0 0],'r-',...
[0 0],[0 1],'r--',[2 2],[1 0],'r--',[8 8],[0 1],'r--',[10 10],[1 0],'r--',[16 16],[0 1],'r--',...
[-8 -6],[1 1],'r-',[-6 -6],[1 0],'r--',[-6 0],[0 0],'r-'),hold off,...
axis([-8 16 -0.5 1.5]),plotax
end
set(gcf,'Position',fig_size)
figure(3),clf,subplot(211),plot(0,a0,'ro',n,an,'o'),axis([-5 50 -0.2 0.5]),plotax,...
hold on,plot([10.5 10.5],[-0.2 0.5],'r--',[30.5 30.5],[-0.2 0.5],'r--'),hold off,...
xlabel('Harmonic Number'),ylabel('Amplitude'),title('Trig Fourier Series Coefficients a_n for x(t)'),...
subplot(212),plot(n,bn,'o'),axis([-5 50 -0.05 0.35]),plotax,...
hold on,plot([10.5 10.5],[-0.05 0.35],'r--',[30.5 30.5],[-0.05 0.35],'r--'),hold off,...
xlabel('Harmonic Number'),ylabel('Amplitude'),title('Trig Fourier Series Coefficients b_n for x(t)'),...
set(gcf,'Position',fig_size)
figure(4),clf,subplot(211),plot(0,A0,'ro',n*w0,An,'o'),axis([-2*w0 16 -0.1 0.5]),plotax,...
xlabel('Frequency (r/s)'),ylabel('Magnitde'),title('Cosine Fourier Series Magnitudes A_n for x(t)'),...
subplot(212),plot(n*w0,thn,'o'),v=axis;axis([-2*w0 16 -200 10]),plotax,...
xlabel('Frequency (r/s)'),ylabel('Phase (deg)'),title('Cosine Fourier Series Phases Theta_n for x(t)'),...
set(gcf,'Position',fig_size)
figure(5),clf,subplot(211),plot(0,X0,'ro',n*w0,Xn,'o',-n*w0,Xn,'o'),axis([-16 16 -0.1 0.3]),plotax,...
xlabel('Frequency (r/s)'),ylabel('Magnitde'),title('Exponential Fourier Series Magnitudes X_n for x(t)'),...
subplot(212),plot(n*w0,thn,'o',-n*w0,-thn,'o'),v=axis;axis([-16 16 v(3:4)]),plotax,...
xlabel('Frequency (r/s)'),ylabel('Phase (deg)'),title('Exponential Fourier Series Phases Theta_n for x(t)'),...
set(gcf,'Position',fig_size)
clear i v
%
Technical discussion about Matlab and issues related to Digital Signal Processing.
Post a new Threadfourier series coefficients - Kurt - Dec 1 12:27:01 2009
hello all,I have a one period square wave on the interval[0,2] defined as: y(t)= 1, 0<=t<1y(t)= 0, 1<=t<2I need to find the fourier series coefficients,ck, with k=-10,-9,...,9,10I heard using a for loop would work but I am completely stuck on how to move
Your Email Here Join this Group! matlab
through this problem.All help is greatly appreciated,Kurt______________________________New Code Sharing Section now Live on DSPRelated.com. Learn about the Reward Program for Contributors here.
(You need to be a member of matlab -- send a blank email to [email protected] )
Re: fourier series coefficients - vishwa - Dec 3 7:52:08 2009
you can try
for k=-10:1:10c(k+11) = here you enter the Ck equation; % you cant have negative indexing inMATLABend Now c gives you the coefficients
rgdsvishwanath
________________________________From: Kurt <[email protected]>To: [email protected]: Tue, 1 December, 2009 12:50:19 PMSubject: [matlab] fourier series coefficients
 hello all,I have a one period square wave on the interval[0,2] defined as: y(t)= 1, 0<=t<1y(t)= 0, 1<=t<2I need to find the fourier series coefficients, ck, with k=-10,-9,... ,9,10I heard using a for loop would work but I am completely stuck on how to movethrough this problem.All help is greatly appreciated,Kurt
______________________________New Code Sharing Section now Live on DSPRelated.com. Learn about the Reward Program for Contributors here.
(You need to be a member of matlab -- send a blank email to [email protected] )
Re: fourier series coefficients - Vaibhav Singh - Dec 4 7:44:25 2009
Hey..
For fourier coeff u have to find the fft of the given sequence using matlab.Since u have to find the coeff for kranging from -10:1:10, i.e.21 points uhave to define ur function in time domain in 21 samples. Take the fft ofthese 21 samples. The resultant is your desired fourier coeff .
Regards-vaibhav
On Thu, Dec 3, 2009 at 5:01 PM, vishwa <[email protected]> wrote:
> you can try>> for k=-10:1:10> c(k+11) = here you enter the Ck equation; % you cant have negativeindexing> in MATLAB> end>> Now>> c gives you the coefficients>> rgds> vishwanath>> ________________________________> From: Kurt <[email protected] <keg1606%40sbcglobal.net>>> To: [email protected] <matlab%40yahoogroups.com>> Sent: Tue, 1 December, 2009 12:50:19 PM> Subject: [matlab] fourier series coefficients>> hello all,> I have a one period square wave on the interval[0,2] defined as:> y(t)= 1, 0<=t<1> y(t)= 0, 1<=t<2> I need to find the fourier series coefficients, ck, with> k=-10,-9,... ,9,10> I heard using a for loop would work but I am completely stuck on how to> move through this problem.> All help is greatly appreciated,> Kurt>> >
-- Vaibhav SinghBE(Hons.) Electronics And InstrumentationBITS-Pilani
EE341.01: MATLAB M-FILE FOR PLOTTING TRUNCATED FOURIER SERIES AND ITS SPECTRAMATLAB M-File example6.m:
%% Filename: example6.m%% Description: This M-file plots the truncated Fourier Series% representation of a square wave as well as its % amplitude and phase spectrum.
clear; % clear all variablesclf; % clear all figures
N = 11; % summation limit (use N odd)wo = pi; % fundamental frequency (rad/s)c0 = 0; % dc biast = -3:0.01:3; % declare time values
figure(1) % put first two plots on figure 1
% Compute yce, the Fourier Series in complex exponential form
yce = c0*ones(size(t)); % initialize yce to c0
for n = -N:2:N, % loop over series index n (odd) cn = 2/(j*n*wo); % Fourier Series Coefficient yce = yce + real(cn*exp(j*n*wo*t)); % Fourier Series computationend
subplot(2,1,1)plot([-3 -2 -2 -1 -1 0 0 1 1 2 2 3],... % plot original y(t) [-1 -1 1 1 -1 -1 1 1 -1 -1 1 1], ':');hold;plot(t,yce); % plot truncated exponential FSxlabel('t (seconds)'); ylabel('y(t)');ttle = ['EE341.01: Truncated Exponential Fourier Series with N = ',... num2str(N)];title(ttle);hold;
% Compute yt, the Fourier Series in trigonometric form
yt = c0*ones(size(t)); % initialize yt to c0
for n = 1:2:N, % loop over series index n (odd) cn = 2/(j*n*wo); % Fourier Series Coefficient yt = yt + 2*abs(cn)*cos(n*wo*t+angle(cn)); % Fourier Series computationend
subplot(2,1,2)plot([-3 -2 -2 -1 -1 0 0 1 1 2 2 3],... % plot original y(t) [-1 -1 1 1 -1 -1 1 1 -1 -1 1 1], ':');hold; % plot truncated trigonometric FSplot(t,yt);xlabel('t (seconds)'); ylabel('y(t)');ttle = ['EE341.01: Truncated Trigonometric Fourier Series with N = ',... num2str(N)];title(ttle);hold;
% Draw the amplitude spectrum from exponential Fourier Series
figure(2) % put next plots on figure 2
subplot(2,1,1)stem(0,c0); % plot c0 at nwo = 0
hold;for n = -N:2:N, % loop over series index n cn = 2/(j*n*wo); % Fourier Series Coefficient stem(n*wo,abs(cn)) % plot |cn| vs nwoendfor n = -N+1:2:N-1, % loop over even series index n cn = 0; % Fourier Series Coefficient stem(n*wo,abs(cn)); % plot |cn| vs nwoend
xlabel('w (rad/s)')ylabel('|cn|')ttle = ['EE341.01: Amplitude Spectrum with N = ',num2str(N)];title(ttle); grid;hold;
% Draw the phase spectrum from exponential Fourier Series
subplot(2,1,2)stem(0,angle(c0)*180/pi); % plot angle of c0 at nwo = 0
hold;for n = -N:2:N, % loop over odd series index n cn = 2/(j*n*wo); % Fourier Series Coefficient stem(n*wo,angle(cn)*180/pi); % plot |cn| vs nwoendfor n = -N+1:2:N-1, % loop over even series index n cn = 0; % Fourier Series Coefficient stem(n*wo,angle(cn)*180/pi); % plot |cn| vs nwoend
xlabel('w (rad/s)')ylabel('angle(cn) (degrees)')ttle = ['EE341.01: Phase Spectrum with N = ',num2str(N)];title(ttle);grid;hold;
MATLAB Plots Generated:
Hi,
I am trying to write a function to generate Fourier series Coefficients of a given discrete time signal. For instance:
x = [1 2 3 4]
n = [0 1 2 3]
where x holds the values of the signal, and n holds the corresponding time indices.
My code for the function is:
function a = dtfs(x,n)
period = length(x);
for k = 1:period
a = (1/period)*x(k)*exp(((-j*2*pi)/period)*n(k));
a
end
i am just not getting the correct values for the fourier series coefficients. Am I setting up the formula wrong?
As you can probably tell, i am very very new to MATLAB and I'd also appreciate if someone may guide me in setting up my
"for-loop" with a vector to "catch" and store values of "a", so each time the for-loop repeats, the previous value a does not get
over-written, instead they are all stored in a vector.
Thanks in advance :)
Regards
Subject: Fourier Series Coefficients
From: Andrew
Date: 24 Oct, 2008 04:43:01
Message: 2 of 4
Reply to this message
Add author to My Watch List
View original format
Flag as spam
I'm guessing the formula, but hopefully the structure of it will help...
function a = dtfs(x,n)
period = length(x);
a = zeros(1, length(x))
for k = 1:period
for z = 1:period
a(k) = a(k) + x(z) * exp((-j*2*pi)/period * (k-1) * n(z));
end
a(k) = a(k) / period;
num2str(a(k), '%1.18f');
end
Cheers,
Andrew
> a = (1/period)*x(k)*exp(((-j*2*pi)/period)*n(k));
> a
> end
"Raz H" <[email protected]> wrote in message <[email protected]>...
> Hi,
>
> I am trying to write a function to generate Fourier series Coefficients of a given discrete time signal. For instance:
>
> x = [1 2 3 4]
> n = [0 1 2 3]
>
> where x holds the values of the signal, and n holds the corresponding time indices.
>
> My code for the function is:
>
> function a = dtfs(x,n)
> period = length(x);
> for k = 1:period
> a = (1/period)*x(k)*exp(((-j*2*pi)/period)*n(k));
> a
> end
>
> i am just not getting the correct values for the fourier series coefficients. Am I setting up the formula wrong?
>
> As you can probably tell, i am very very new to MATLAB and I'd also appreciate if someone may guide me in setting up my
"for-loop" with a vector to "catch" and store values of "a", so each time the for-loop repeats, the previous value a does not get
over-written, instead they are all stored in a vector.
>
> Thanks in advance :)
>
> Regards
Subject: Fourier Series Coefficients
From: Paul
Date: 24 Oct, 2008 06:35:05
Message: 3 of 4
Reply to this message
Add author to My Watch List
View original format
Flag as spam
"Andrew" <[email protected]> wrote in message <[email protected]>...
> I'm guessing the formula, but hopefully the structure of it will help...
>
> function a = dtfs(x,n)
> period = length(x);
> a = zeros(1, length(x))
> for k = 1:period
> for z = 1:period
> a(k) = a(k) + x(z) * exp((-j*2*pi)/period * (k-1) * n(z));
> end
> a(k) = a(k) / period;
> num2str(a(k), '%1.18f');
> end
>
> Cheers,
> Andrew
>
>
> > a = (1/period)*x(k)*exp(((-j*2*pi)/period)*n(k));
> > a
> > end
>
>
>
>
> "Raz H" <[email protected]> wrote in message <[email protected]>...
> > Hi,
> >
> > I am trying to write a function to generate Fourier series Coefficients of a given discrete time signal. For instance:
> >
> > x = [1 2 3 4]
> > n = [0 1 2 3]
> >
> > where x holds the values of the signal, and n holds the corresponding time indices.
> >
> > My code for the function is:
> >
> > function a = dtfs(x,n)
> > period = length(x);
> > for k = 1:period
> > a = (1/period)*x(k)*exp(((-j*2*pi)/period)*n(k));
> > a
> > end
> >
> > i am just not getting the correct values for the fourier series coefficients. Am I setting up the formula wrong?
> >
> > As you can probably tell, i am very very new to MATLAB and I'd also appreciate if someone may guide me in setting up
my "for-loop" with a vector to "catch" and store values of "a", so each time the for-loop repeats, the previous value a does not
get over-written, instead they are all stored in a vector.
> >
> > Thanks in advance :)
> >
> > Regards
Was this a HW problem? It looks like one to me!
Subject: Fourier Series Coefficients
From: Raz H
Date: 24 Oct, 2008 06:54:02
Message: 4 of 4
Reply to this message
Add author to My Watch List
View original format
Flag as spam
"Paul" <[email protected]> wrote in message <[email protected]>...
> "Andrew" <[email protected]> wrote in message <[email protected]>...
> > I'm guessing the formula, but hopefully the structure of it will help...
> >
> > function a = dtfs(x,n)
> > period = length(x);
> > a = zeros(1, length(x))
> > for k = 1:period
> > for z = 1:period
> > a(k) = a(k) + x(z) * exp((-j*2*pi)/period * (k-1) * n(z));
> > end
> > a(k) = a(k) / period;
> > num2str(a(k), '%1.18f');
> > end
> >
> > Cheers,
> > Andrew
> >
> >
> > > a = (1/period)*x(k)*exp(((-j*2*pi)/period)*n(k));
> > > a
> > > end
> >
> >
> >
> >
> > "Raz H" <[email protected]> wrote in message <[email protected]>...
> > > Hi,
> > >
> > > I am trying to write a function to generate Fourier series Coefficients of a given discrete time signal. For instance:
> > >
> > > x = [1 2 3 4]
> > > n = [0 1 2 3]
> > >
> > > where x holds the values of the signal, and n holds the corresponding time indices.
> > >
> > > My code for the function is:
> > >
> > > function a = dtfs(x,n)
> > > period = length(x);
> > > for k = 1:period
> > > a = (1/period)*x(k)*exp(((-j*2*pi)/period)*n(k));
> > > a
> > > end
> > >
> > > i am just not getting the correct values for the fourier series coefficients. Am I setting up the formula wrong?
> > >
> > > As you can probably tell, i am very very new to MATLAB and I'd also appreciate if someone may guide me in setting up
my "for-loop" with a vector to "catch" and store values of "a", so each time the for-loop repeats, the previous value a does not
get over-written, instead they are all stored in a vector.
> > >
> > > Thanks in advance :)
> > >
> > > Regards
>
> Was this a HW problem? It looks like one to me!
@Andrew
Thank you very much! I guess my loop was not set up correctly, plus I was not signifying the time indices correctly.
@Paul
This was not a homework problem, though I'll be taking Signals soon, so I am trying to become familiar with MATLAB.
Thanks to all who replied! :)
EE341.01: MATLAB M-FILE FOR PLOTTING TRUNCATED FOURIER SERIES
This example shows a MATLAB M-file for plotting a truncated Fourier Series. Various numbers of terms are used.
MATLAB M-File example5.m:
% % Filename: example5.m%% Description: Example to show how the truncated Fourier series in % complex exponential form approximates the real % signal. More and more terms are taken showing a% better and better representation of the original signal.%
clear; % clear all variables clf; % clear all figures
% Define parameters to plot original sawtooth
tr = [-1 0 0 1 1 2 2];yr = [0 1 0 1 0 1 0];
% Plot Truncated Fourier Series Approximation (N = 1)
N = 1; % define number of terms to use (n = -N..N)c0 = 0.5; % define dc bias coefficientt = -1:0.001:2; % define time values for y(t)y = c0 * ones(size(t)); % let initial y = c0 (dc bias) for all times
for n = -N:-1, % compute y for negative n cn = exp(j*pi/2)/(2*pi*n); y = y + real(cn * exp(j*n*2*pi*t));end; % compute y for positive n and add to yfor n = 1:N, % found using negative n cn = exp(j*pi/2)/(2*pi*n); y = y + real(cn * exp(j*n*2*pi*t));end;
subplot(2,2,1); % plot approximationplot(t,y); hold;plot(tr,yr,':'); hold;xlabel('time (seconds)');ylabel('y(t) approximation');title('EE341.01: Truncated FS, -1<=n<=1');
% Plot Truncated Fourier Series Approximation (N = 2)
clear; % clear all variables N = 2; % define number of terms to use (n = -N..N)c0 = 0.5; % define dc bias coefficientt = -1:0.001:2; % define time values for y(t)y = c0 * ones(size(t)); % let initial y = c0 (dc bias) for all times
for n = -N:-1, % compute y for negative n cn = exp(j*pi/2)/(2*pi*n); y = y + real(cn * exp(j*n*2*pi*t));end; % compute y for positive n and add to yfor n = 1:N, % found using negative n cn = exp(j*pi/2)/(2*pi*n); y = y + real(cn * exp(j*n*2*pi*t));end;
subplot(2,2,2); % plot approximationplot(t,y);hold;plot(tr,yr,':');hold;xlabel('time (seconds)');ylabel('y(t) approximation');title('EE341.01: Truncated FS, -2<=n<=2');
% Plot Truncated Fourier Series Approximation (N = 3)
clear; % clear all variables N = 3; % define number of terms to use (n = -N..N)c0 = 0.5; % define dc bias coefficientt = -1:0.001:2; % define time values for y(t)y = c0 * ones(size(t)); % let initial y = c0 (dc bias) for all times
for n = -N:-1, % compute y for negative n cn = exp(j*pi/2)/(2*pi*n); y = y + real(cn * exp(j*n*2*pi*t));end; % compute y for positive n and add to yfor n = 1:N, % found using negative n cn = exp(j*pi/2)/(2*pi*n); y = y + real(cn * exp(j*n*2*pi*t));end;
subplot(2,2,3); % plot approximationplot(t,y);hold;plot(tr,yr,':');hold;xlabel('time (seconds)');ylabel('y(t) approximation');title('EE341.01: Truncated FS, -3<=n<=3');
% Plot Truncated Fourier Series Approximation (N = 10)
clear; % clear all variables N = 10; % define number of terms to use (n = -N..N)c0 = 0.5; % define dc bias coefficientt = -1:0.001:2; % define time values for y(t)y = c0 * ones(size(t)); % let initial y = c0 (dc bias) for all times
for n = -N:-1, % compute y for negative n cn = exp(j*pi/2)/(2*pi*n); y = y + real(cn * exp(j*n*2*pi*t));end; % compute y for positive n and add to yfor n = 1:N, % found using negative n cn = exp(j*pi/2)/(2*pi*n); y = y + real(cn * exp(j*n*2*pi*t));end;
subplot(2,2,4); % plot approximationplot(t,y);hold;plot(tr,yr,':');hold;xlabel('time (seconds)');ylabel('y(t) approximation');title('EE341.01: Truncated FS, -10<=n<=10');
MATLAB Plot Generated: