function [K,CL,Gam,Info,Sopt]=hinfrobper(GenPlant,Nsens,Nact,NfromDelta,NtoDelta)
% diseña hinfinito con pequeña ganancia escalada
% multiplicador sólo constante por identidad.
% fuerza bruta en escala logaritmica del multiplicador.
% devuelve lo mismo que hinfsyn, y el valor del multiplicador Sopt

Multiplier_range=logspace(-1,1,75);%puntos, espaciados logaritmicamente
[m,r]=size(GenPlant); %outs, inps, *states as third output Matlab only.

Gam=1e5;
Nperturbs=r-Nact-NfromDelta;
Nsalcontroladas=m-Nsens-NtoDelta;
Iin=eye(NfromDelta);
Iout=eye(NtoDelta);

for mul=Multiplier_range
    Wrob_in=blkdiag(mul*Iin,eye(Nperturbs),eye(Nact));
    Wrob_out=blkdiag(1/mul*Iout,eye(Nsalcontroladas),eye(Nsens));
    GenPlantW=minreal(Wrob_out*GenPlant*Wrob_in);
    [K1,CL1,Gam1,Info1]=hinfsyn(GenPlantW,Nsens,Nact);
    if(Gam1<Gam)
        K=K1;
        Gam=Gam1;
        fprintf('Exito: cota de norma <= %f, multiplicador %f.\n',Gam, mul);
        CL=CL1;
        Info=Info1;
        Sopt=mul;
    else
        fprintf('Probado mult. %f sin éxito (cota de norma <= %f).\r',mul, Gam);
    end
end

% Presentación en vídeo en http://personales.upv.es/asala/YT/V/prhrp.html
