M-file:
%% Filename: FourierSeriesExample5.m % Description: m-file to plot trigonometric Fourier Series % representation of a triangle wave. clear; clc; close all; % clear memory and command window, close all figures t = -1.5:0.005:3.5; % times over which to plot FS Nval = [2, 4, 6, 50]; % upper limits for n in summation figure(1); % open figure in which to plot % Build triangle wave using increasing number of terms for in = 1:4, % loop over 4 different lengths (found in Nval) of Fourier Series f = -1/2*ones(1,length(t)); % a0 (DC offset) term subplot(2,2,in); % open one of four subplots % brute force original triangle wave plot([-1.5, -1, 0, 1, 2, 3, 3.5],... [-0.5, -1, 0,-1, 0, -1,-0.5],'k-.','LineWidth',2); hold on; plot(t,f,'b:','LineWidth',2); % plot a0 (DC offset) for n = 1:2:Nval(in), % loop over different lengths of FS harm = 4*cos(n*pi*t)/(n*n*pi*pi); % compute terms (harmonics) f = f + harm; % add terms to series plot(t,harm,'b--','LineWidth',1); % plot terms (harmonics) end plot(t,f,'r-','LineWidth',2); % plot FS hold off; xlabel('time, sec','FontSize',14); ylabel('FS Approx to f(t)','FontSize',14); title(['Fourier Series Approx w/',num2str(Nval(in)),' Terms'],'FontSize',14); end
Figures/Plots Generated: