MATLAB: Please address the problem

for the following code
function [sys,x0,str,ts] = Three_Tank(t,x,u,flag)
switch flag,
case 0,
[sys,x0,str,ts] = mdlInitializeSizes;
case 1,
sys = mdlDerivatives(t,x,u);
case 2,
sys = mdlUpdate(t,x,u);
case 3,
sys = mdlOutputs(t,x,u);
case 4,
sys = mdlGetTimeOfNextVarHit(t,x,u);
case 9,
sys = mdlTerminate(t,x,u);
otherwise
error(['Unhandled flag = ',num2str(flag)]);
end
I am getting this error
Input argument "flag" is undefined.
Error in ==> Three_Tank at 3 switch flag
Error in ==> load_system at 34 feval(sys);
Error in ==> getLinNormalModeBlocks at 22 load_system(mdl);
Error in ==> dlinmod at 107 [normalblks,normalrefs] = getLinNormalModeBlocks(model);

Best Answer

Your function is not wrong. I think the problem is related to the way the function is called. The error indicates a call like
[sys,x0,str,ts] = Three_Tank(t,x,u)
Related Question