Please address my 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);

 Risposta accettata

Friedrich
Friedrich il 8 Lug 2011
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)

6 Commenti

sorry Friedrich,
still it's not working.
Friedrich
Friedrich il 8 Lug 2011
It must be something like this. look at this
function repro( x,y,flag )
switch flag
case 1
disp('1')
otherwise
disp('otherwise')
end
end
>> repro(1,2,1)
1
>> repro(1,2)
??? Input argument "flag" is undefined.
Error in ==> repro at 3
switch flag
Jan
Jan il 8 Lug 2011
@Krishna: The error message says, that the 4th input "flag" is not defined. You call this function by "feval(sys)" - I assume "sys" is the function handle an you submit no inputs, but Three_Tank needs 4 inputs.
Therefore I think Friedrichs answer is correct. +1
Sean de Wolski
Sean de Wolski il 8 Lug 2011
@Friedrich: was that the episode where Homer had the crayon removed?
Friedrich
Friedrich il 8 Lug 2011
yes it was. its a screen from the scene where homer tries to say the Pythagorean theorem and fail totally.
Sean de Wolski
Sean de Wolski il 8 Lug 2011
Excelllllent /...\

Accedi per commentare.

Più risposte (0)

Tag

Non è stata ancora inserito alcun tag.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by