function K=q7leuven(w0,d) % function K=q7leuven(w0,d) % % tries to achieve bandwidth w0 in Question 7/Leuven 2005 if nargin<2, d=5; end s=slap(1); w1=9*w0; k0=sqrt(2)/abs(1+sqrt(2)*j*(w0/w1)-(w0/w1)^2); L=k0*(1+sqrt(2)*(s/w1)+(s/w1)^2)/(1+sqrt(2)*(s/w0)+(s/w0)^2); P=(s-1)/(s-0.1)^2; newmodel; w1=newsignal(1); w2=newsignal(1); u=newsignal(1); q=P*u; r=L*w1; e1=10*(q-r); e2=(0.1/d)*u; e3=(0.1/d)*q; y=[r;q+(d/10)*w2]; [k2,K,g2,gi]=h2hi([w1;w2],u,[e1;e2;e3],y); fprintf('\nq7leuven: bandwidth %f achieved if %f<1\n',w0,norm(gi,Inf)); u==K*y; w2==0*w1; E=(e1<=w1); close(gcf);bode(0.1*E/L);grid