2.4. CASE STUDY: ROBUST CONTROL OF A POSITION CONTROL SYSTEM 49
G4=tf (.054 ,[12.24e -5 .0014 .0038 0]);
G5=tf (.066 ,[42.83e -5 .004 .0023 0]);
G6=tf (.066 ,[12.24e -5 .004 .0038 0]);
G7=tf (.066 ,[42.83e -5 .0014 .0023 0]);
G8=tf (.066 ,[12.24e -5 .0014 .0038 0]);
%Acceptable values of proportional gain and integral gains are
%stored in variables KP and KI respectively.
KP =0;
KI =0;
%n is used to show the progress of the loop to the user.
%N is the total number of iterations
n=0;
N=length ( Kpmin :Kpstep :Kpmax )*length(Kimin : Kistep:Kimax);
for Kp=Kpmin : Kpstep:Kpmax
for Ki=Kimin : Kistep:Kimax
n=n+1;
disp(' percentage of work done: ')
disp (100* n/N)
C=tf([ Kp Ki ],[1 0]);
P11=pole(feedback(C*G1 ,1));
P12=pole(feedback(C*G2 ,1));
P13=pole(feedback(C*G3 ,1));
P14=pole(feedback(C*G4 ,1));
P21=pole(feedback(C*G5 ,1));
P22=pole(feedback(C*G6 ,1));
P23=pole(feedback(C*G7 ,1));
P24=pole(feedback(C*G8 ,1));
NumberOfUnstablePoles =sum(real (P11) >0)+sum(real(P12) >0) ...
+sum( real(P13) >0)+sum(real(P14) >0)+sum(real(P21) >0) ...
+sum( real(P22) >0)+sum(real(P23) >0)+sum(real(P24) >0);
if NumberOfUnstablePoles ==0
KP=[KP;Kp];
KI=[KI;Ki];