function [g,d]=ps22c(gg) % function [g,d]=ps22c(gg) % % given gg=[g1;g2]>0 (default gg=[2;3]) minimize r=g^2 subject to % r|w|^2-|y1+y2|^2>d(1)*(g1^2|w|^2-|y1|^2)+d(2)*(g2^2|w|^2-|y2|^2) if nargin<1, gg=[2;3]; end r=msspoly('r'); % r w=msspoly('w'); % w y=msspoly('y',[2,1]); % y=[y1;y2] d=msspoly('d',[2,1]); % d=[d1;d2] q=msspoly('Q',6); % coefficients of Q pr = mssprog; % initialize program pr.free = r; % register r pr.pos = d; % register d pr.psd = q; % register q Q = mss_v2s(q); % symmetric Q z = [w;y]; pr.eq = r*w^2-sum(y)^2-sum(d'*((gg.^2)*w^2-y.*y))-z'*Q*z; pr.sedumi = r; % minimize r g=sqrt(pr({r})); % L2 gain bound d=pr({d});