function[sys,x0,str,ts,simStateCompliance]=vectorChoose(t,x,u,flag,u1,u2,u3,u4,k)
switch flag
case 0
[sys,x0,str,ts,simStateCompliance]=mdlInitializeSizes(k); case 1
sys = mdlDerivatives(t,x,u,k);
case {2,9}
sys = [];
case 3
sys = mdlOutputs(t,x,u);
otherwise
DAStudio.error('Simulink:blocks:unhandledFlag', num2str(flag));
end
function [sys,x0,str,ts,simStateCompliance] =mdlInitializeSizes(k)
sizes = simsizes;
sizes.NumContStates = 1;
sizes.NumDiscStates = 0;
sizes.NumOutputs = 1;
sizes.NumInputs = 1;
sizes.DirFeedthrough = 0;
sizes.NumSampleTimes = 1;
sys = simsizes(sizes);
str = [];
x0 = [];
ts = [0 0];
simStateCompliance = 'DefaultSimState';
function sys = mdlDerivatives(t,x,u,k)
if(u(1)==1&u(2)==1&u(3)==1) k=1;
elseif(u(1)==1&u(2)==1&u(3)==0) k=2;
elseif(u(1)==1&u(2)==0&u(3)==1) k=3;
elseif(u(1)==1&u(2)==0&u(3)==0) k=4;
elseif(u(1)==0&u(2)==1&u(3)==1) k=5;
elseif(u(1)==0&u(2)==1&u(3)==0) k=6;
elseif(u(1)==0&u(2)==0&u(3)==1) k=7;
elseif(u(1)==0&u(2)==0&u(3)==0) k=8;
end
switch u(4)
case 1
if(k==1)
SA=1;
SB=1;
SC=0;
else if(k==2)
SA=1;
SB=0;
SC=0;
else if(k==3) SA=0;
SB=1;
SC=0;
else if(k==4) SA=0;
SB=1;
SC=1;
else if(k==5)
SA=1;
SB=0;
SC=0;
else if(k==6) SA=1;
SB=0;
SC=1;
else if(k==7)
SB=1;
SC=1;
else if(k==8)
SA=0;
SB=0;
SC=1;
end
switch u(4)
case 2
if(k==1)
SA=0;
SB=1;
SC=0;
else if(k==2)
SA=0;
SB=0;
SC=0;
else if(k==3)
SA=0;
SB=1;
SC=1;
else if(k==4)
SA=1;
SB=1;
SC=1;
else if(k==5)
SA=0;
SB=0;
SC=0;
else if(k==6)
SA=1;
SB=0;
SC=1;
else if(k==7)
SA=1;
SB=1;
SC=1;
else if(k==8)
SA=1;
SB=0;
SC=1;
end
switch u(4)
case 3
if(k==1)
SB=1;
SC=1;
else if(k==2)
SA=0;
SB=0;
SC=0;
else if(k==3)
SA=0;
SB=0;
SC=1;
else if(k==4) SA=1;
SB=1;
SC=1;
else if(k==5) SA=0;
SB=0;
SC=0;
else if(k==6) SA=1;
SB=1;
SC=0;
elseif(k==7)
SA=1;
SB=1;
SC=1;
else if(k==8)
SA=1;
SB=0;
SC=0;
end
switch u(4)
case 4
if(k==1)
SA=0;
SB=0;
SC=1;
else if(k==2)
SA=0;
SB=0;
SC=0;
else if(k==3)
SA=1;
SB=0;
else if(k==4) SA=1;
SB=1;
SC=1;
elseif(k==5)
SA=0;
SB=0;
SC=0;
else if(k==6) SA=0;
SB=1;
SC=0;
elseif(k==7)
SA=1;
SB=1;
SC=1;
else if(k==8)
SA=1;
SB=1;
SC=0;
end
switch u(4)
case 5
if(k==1)
SA=0;
SB=1;
SC=0;
else if(k==2)
SA=0;
SB=0;
SC=0;
else if(k==3)
SA=0;
SB=1;
SC=1;
else if(k==4) SA=1;
SB=1;
SC=1;
else if(k==5)
SA=0;
SB=0;
SC=0;
elseif(k==6)
SB=0;
SC=1;
else if(k==7)
SA=1;
SB=1;
SC=1;
else if(k==8)
SA=1;
SB=0;
SC=1;
end
switch u(4)
case 6
if(k==1)
SA=0;
SB=1;
SC=0;
else if(k==2)
SA=0;
SB=0;
SC=0;
else if(k==3)
SA=0;
SB=1;
SC=1;
else if(k==4)
SA=1;
SB=1;
SC=1;
else if(k==5)
SA=0;
SB=0;
SC=0;
else if(k==6) SA=1;
SB=0;
SC=1;
else if(k==7) SA=1;
SB=1;
SC=1;
else if(k==8) SA=1;
SB=0;
end
end
end
function sys = mdlOutputs(t,x,u)
sys = x;