function[sys,x0]=zk3(t,x,u,flag,k1,k2,k3,s1,s2,s3,qv1s,qv2s,qv3s)
% nelinearny matematicky model 3 zasobnikov kvapaliny bez interakcie
% pre simulaciu dynamickych vlastnosti
% s-funkcia
if flag==0,
sys=[3,0,1,2,0,0];
h3s=((qv1s+qv2s+qv3s)/k3)^2;
h2s=((qv1s+qv2s)/k2)^2;
h1s=((qv1s)/k1)^2;
x0(1)=h1s;
x0(2)=h2s;
x0(3)=h3s;
elseif abs(flag)==1,
if x(1)<0
x(1)=0;
end
if x(2)<0
x(2)=0;
end
if x(3)<0
x(3)=0;
end
dhdt(1)=1/s1*u(1)-k1/s1*sqrt(x(1));
dhdt(2)=1/s2*u(2)+k1/s2*sqrt(x(1))-k2/s2*sqrt(x(2));
dhdt(3)=1/s3*qv3s+k2/s3*sqrt(x(2))-k3/s3*sqrt(x(3));
sys=dhdt;
elseif flag==3,
if x(1)<0
x(1)=0;
end
if x(2)<0
x(2)=0;
end
if x(3)<0
x(3)=0;
end
sys=x(3)+(0.01-0.02*rand);
else
sys=[];
end