82 3. CONTROLLER DESIGNFOR DC-DC CONVERTERSUSINGKHARITONOV’S THEOREM
nAcceptable =0; %nAcceptable keeps the number of acceptable
%solutions found.
for kp=kp_min :kp_delta:kp_max
for ki=ki_min :ki_delta:ki_max
n=n+1;
disp(' percentage of work done ')
100*n/N
disp('---')
k1=roots ([1 2.8165e3+4.6571 e3*kp 1.3134 e8 +6.5189 e8*kp+
4.5778 e3*ki 8.9629 e10 +4.0827 e11 *kp +6.5189 e8*ki
2.1808 e15 +1.0234 e17*kp +9.2743 e11*ki 1.0234 e17*ki]);
k1_real=real (k1);
T1=sum(k1_real >0); %T1 keeps the number of unstable
%poles in k1
k2=roots ([1 2.8165e3+4.6571 e3*kp 1.3134 e8 +6.5189 e8*kp+
4.5778 e3*ki 2.5067 e11 +9.2743 e11 *kp +6.6678 e8*ki
2.1678 e15 +1.0069 e17*kp +4.0827 e11*ki 1.0234 e17*ki]);
k2_real=real (k2);
T2=sum(k2_real >0); %T2 keeps the number of unstable
%poles in k2
k3=roots ([1 1.2452e3+4.5778 e3*kp 1.3205 e8 +6.6678 e8*kp+
4.6571 e3*ki 8.9629 e10 +4.0827 e11 *kp +6.5189 e8*ki
2.1808 e15 +1.0234 e17*kp +9.2743 e11*ki 1.0069 e17*ki]);
k3_real=real (k3);
T3=sum(k3_real >0); %T3 keeps the number of unstable
%poles in k3
if ((T1+T2+T3)==0)
nAcceptable=nAcceptable +1;
disp('kp=')
kp
disp('ki=')
ki
disp(' ************** ')