function K0=ps14e_6242_2004(n) % function K0=ps14e_6242_2004(n) % % gain margin estimation for Problem 1.4(e) in 6.242/2004 [g,rGns]=ps14d_6242_2004(n); rGn=((n-1)/n)*ps14a_6242_2004(n); % reduced model K1=1; % some feedback gain GK1=K1/(1+K1*rGn); % closed loop [z,p,k]=zpkdata(GK1); % closed loop poles sm=max(real(p{1})); fprintf('\nStability margin: %f',sm); sg=norm(GK1,Inf)*g; fprintf('\nSmall gain margin: %f',sg); if (sm<0)&(sg<1), % stability check fprintf('\nNominal stabilty established'); rGns=rGns(abs(imag(rGns))<=g); y=min(real(rGns)-sqrt(g^2-imag(rGns).^2)); K0=-1/y; else fprintf('\nNominal stabilty not established'); end