% Example 8.5 % Revised February 6, 2004 % Transfer function G(s) num=[1 6] d1=[1 10]; d2=[1 2 2]; den=conv(d1,d2) K=10 % Steady state unit step error Kp=K*num(2)/den(4) ess=1/(1+Kp) % Closed-loop system with unity feedback (1, 1 indicate unity feedback) [cnum, cden]=feedback(K*num,den,1,1,-1) % Step response of the original system t=0:0.1:5; y=step(cnum,cden,t); % PI controller design nc=[1 0.1] dc=[1 0] numc=conv(nc,num) denc=conv(dc,den) [cnumc,cdenc]=feedback(K*numc,denc,1,1,-1) yc=step(cnumc,cdenc,t) figure (1) plot(t,y,t,yc,'--') xlabel('Time [s]'); ylabel('Step responses'); grid % Step response in the different time scale t=0:0.1:50; yc=step(cnumc,cdenc,t) figure (2) plot(t,yc) xlabel('Time [s]'); ylabel('Step response of the controlled system'); grid % Closed loop eigenvalues lam=roots(cden) lamc=roots(cdenc) % Root loci of the original and controlled systems figure (3) rlocus(num,den) figure (4) rlocus(numc,denc)