function PI_Parameters = Adaptivny_Regulator(UY)

global P;
global theta;
global Ts;
global counter;
global vyber;

[theta,P] = RMNS_3_rad(UY([1 3 5 7]),UY([2 4 6 8]),P,theta); %volanie funkcie
GzIdent = tf([theta(4) theta(5) theta(6)],[1  -theta(1) -theta(2) -theta(3)],Ts); %vytvorenie diskrétneho prenosu
counter = counter + 1; %počítadlo

if (counter*Ts) < 1
    PI_Parameters = [1,10e9];
else
    GsIdent = d2c(GzIdent); %prevod diskrétneho prenosu na spojitý
    
    if (vyber == 1) %vybrali ste Zieglera-Nicholsa
    [Gm,Pm,Wcg,Wcp] = margin(GsIdent); %Bodeho diagram, kritické parametre
    
    if isinf(Gm)
        r0 = 1;
        Ti = 10e9;
        disp('ZN nefunguje, soustava nejde rozkmitať');
        PI_Parameters = [r0,Ti];
        return
    end
    
    r0krit = Gm; %určenie kritického zosílenia
    Tkrit = 1/(Wcg/(2*pi)); %výpočet kritickej periódy
    r0 = 0.45*r0krit; %optimálne zosílenie podľa ZN pre PI regulátor
    Ti = 0.83*Tkrit; %optimálna časová konštanta podľa ZN pre PI regulátor
    
    else %vybrali ste optimalizačnú funkciu pidtune
    C=pidtune(GsIdent,pidstd(1,1),0.35); 
    r0=C.Kp; 
    Ti=C.Ti;
    end
    PI_Parameters = [r0,Ti]; %vektor optimálnych parametrov
end
end