EE341: MATLAB M-FILE DEMONSTRATING VARIOUS MATLAB FUNCTIONS FOR SYSTEM ANALYSIS.

MATLAB M-File example8.m:
%
% Filename: example8.m
%
% Description: M-file demonstrating various matlab functions 
%              for system analysis.  Functions use system transfer
%              function H(s) as input.
%

clear;                      % clear matlab memory

numH = [2 5 7];             % numerator of H(s)
denH = [3 1 4 9];           % denominator of H(s)

disp(' '); disp('H(s) = '); % print H(s) to window
printsys(numH,denH,'s');   

% Plot system poles and zeros
  figure(1); clf;           % put plots in figure 1
  pzmap(numH,denH);
  
% Compute and plot step/impulse responses

  figure(2); clf;             % put plots in figure 2

  t = 0:0.01:10;
  y = step(numH,denH,t);      % compute & plot system step response
  subplot(2,1,1);
  plot(t,y);
  xlabel('time ');
  ylabel('y(t)');
  title('System Step Response');

  y = impulse(numH,denH,t);   % compute & plot impulse  response
  subplot(2,1,2);
  plot(t,y);
  xlabel('time ');
  ylabel('y(t)');
  title('System Impulse Response');

% Compute and Plot Spectra of H(w) using freqs

  figure(3); clf;           % put plots in figure 3
  
  w = -20:0.05:20;
  H = freqs(numH,denH,w);   % compute and plot H(w) spectra
  subplot(2,2,1);
  plot(w,abs(H));
  xlabel('\omega, rad/sec');
  ylabel('|H(\omega)|');
  title('Magnitude Spectrum of System');
  
  subplot(2,2,2);
  plot(w,angle(H));
  xlabel('\omega, rad/sec');
  ylabel('\angle(H(\omega)), rad ');
  title('Phase Spectrum of System');

% Compute and plot spectra of H(w) in log form using bode

  w = logspace(-1,1,100);   % w has 100 values from 10^(-1) to 10^1
                            % with same # of points in each decade
                            
  [magH, phaseH] = bode(numH,denH,w);   % compute and plot H(w) spectra
  subplot(2,2,3);
  semilogx(w,20*log(magH));
  xlabel('\omega, rad/sec');
  ylabel('|H(\omega)|, dB ');
  title('Magnitude Spectrum of System');
  
  subplot(2,2,4);
  semilogx(w,phaseH);
  xlabel('\omega, rad/sec');
  ylabel('\angle(H(\omega)), deg ');
  title('Phase Spectrum of System');
Matlab Response Generated:
H(s) = 
 
num/den = 
 
       2 s^2 + 5 s + 7
   ----------------------
   3 s^3 +  s^2 + 4 s + 9
MATLAB Plots Generated: