function [J]=kriteria(par,mod)

if (length(par)==2) %pi-regulátor
    Kp=par(1);
    Ti=par(2);
else
    error('Zadejte spravne pocateni odhad regulatoru PI ([Gain, Ti], kriterium)')
end


%% nastavení konstant regulátoru v modelu
set_param('kompresorovna/PID/param_K','Value',num2str(Kp)) 
set_param('kompresorovna/PID/param_Ti','Value',num2str(Ti))

%% Simulace
sim('kompresorovna')

%% Vyhodnocení
e = err.Data;
t = err.Time;

if mod == 1,                    % usměrněné lineární kritérium
    ae=abs(e);
    J=sum(ae)*(t(2)-t(1));
end
if mod == 2,
    J = e'*e*(t(2)-t(1));       % kvadratické kritérium
end
if mod == 3,
    aet=abs(e).*t;
    J=sum(aet)*(t(2)-t(1));     % ITAE
end
if mod == 4,
    kvet=e.*e.*t;
    J=sum(kvet)*(t(2)-t(1));    % Kvadratické kritérium vážené časem
end
