Matlab中说flag没定义怎么解决?

function [sys,x0,str,ts]=exm_4_sfunc(t,x,u,flag)
A=[-0.1 -0.5;10 2];B=[-1 5;1 -2];C=[1 5;-1 2];D=[-1 0.1;4 -0.2];
switch flag,
case 0,
[sys,x0,str,ts]=mdlInitializeSizes(A,B,C,D);
case 1,
sys=mdlDerivatives(t,x,u,A,B,C,D);
case 3,
sys=mdlOutputs(t,x,u,A,B,C,D);
case{2,4,9},
sys=[];
otherwise
error(['Unhandled flag=',num2str(flag)]);
end

??? Input argument "flag" is undefined.
Error in ==> exm_4_sfunc at 3
switch flag,
怎么解决

第1个回答  推荐于2016-01-30
function [sys,x0,str,ts]=exm_4_sfunc(t,x,u,flag)
A=[-0.1 -0.5;10 2];B=[-1 5;1 -2];C=[1 5;-1 2];D=[-1 0.1;4 -0.2];
switch flag
case 0
[sys,x0,str,ts]=mdlInitializeSizes(A,B,C,D);
case 1
sys=mdlDerivatives(t,x,u,A,B,C,D);
case 3
sys=mdlOutputs(t,x,u,A,B,C,D);
case{2,4,9}
sys=[];
otherwise
error(['Unhandled flag=',num2str(flag)]);
end
把这几个逗号都去掉~本回答被网友采纳
第2个回答  2013-06-12
出错信息告诉你了,
Input argument "flag" is undefined. -- 输入参数flag没有定义。
exm_4_sfunc(t,x,u,flag) 是否有错? 是否只输入了3个参数?
Error in ==> exm_4_sfunc at 3 提示说错在 参数三的地方。
怎么解决 -- 输入4个参数。

MATLAB中提示flag未被定义,求高手指点,谢谢
为什么非要用error,otherwise处的错误信息用disp显示出来就可以了。otherwise err=strcat('Unhandled flag = ',num2str(flag));disp(err);

matlab 显示flagnumber未定义
从程序看,可能是写作了,把 FlagNumber 改成 FlagNumber1 应该可以了

请问Matlab编程 为啥老提示没有定义呢
或者在cmd命令窗中也可以直接调用。

编写matlab s函数,运行时老是出现“??? Input argument "flag" i...
function[sys,x0,str,ts]=c8mhebb(t,x,u,flag,deltak)这个相当于函数定义,你需要写个代码调用它,把t,x,u,flag,deltak 这几个定义了,不然肯定会出现 Input argument "flag" is undefined (输入变量"flag"没有定义)这个错误。

MATLAB程序会提示未定义函数或变量x,怎么解决
情况一:符号变量 必须要定义,定义之后才可以使用。如下面的例子,未定义就会出错。符号变量定义方法例如: sym x 或者 syms x ,两者有区别也有共同点。情况二:计算过程当中的存储数值的变量 可以不必定义,随时需要,随时定义,但是有时候如果变量很多,那么最好提前声明,声明的时候,可以直接赋予0值...

求个matlab大神帮忙,为什么我写的s函数程序总是switch flag的时候...
帮助的人:594万 我也去答题访问个人页 关注 展开全部 什么错误 贴出来 追问 Error in 'Jixiebi\/S-Function1' while executing MATLAB S-function 'chap3_8ctrl', flag = 3 (output), at time 0.0. 现在出现的错误 本回答被提问者采纳 已赞过 已踩过< 你对这个回答的评价是? 评论 收起 1条...

simulink自定义模块的S函数运行时出现“变量未定义”错误
simulink 中自定义一个模块,模块的功能是通过两个输入变量来计算得到一个输出。运行时报错“Error in 'bldcpwm\/S-Function' while executing M-File S-function 'BEMF', flag = 3 (output), at time 0. MATLAB error message:Undefined function or variable 'w' ”Simulink 连接图如下:程序如下:function [sy...

matlab显示参数未定义
(1)首先你这个是一个函数,外面调用的时候,具体参数给的多少我并不知道。就是诸如structData,PosiData,具体是什么我并不知道,无法确切给出答案。(2)但是根据报错信息,我推断,是这段程序没执行到:for j=1:NumOfStockSec 。。。end MATLAB中的“不需要定义”,仅限于赋值语句。例如"a=1"...

程序写入matlab,运行出现 Function is not defined for a first argum...
不太懂你做的东西,不过就这个错误来说,是因为你引入了三个参数dampzzy,gravzzy,angzzy,但是你的s函数没有定义用到的参数,对于这个错误,你尝试将第一行改成 function [sys,x0,str,ts] = simpendzzy(t,x,u,flag,dampzzy,gravzzy,angzzy)试一下 这个错误提示是哪个flag出的错误?我觉得...

matlab中的s函数flag=3一直报错
[sys,x0,str,ts]=rollforce(t,x,u,flag,v,E,a1,a2,a3,a4,a5,b1,b2,b3,b4,b5,C,chem,m), t,x,u,flag,v,E,a1,a2,a3,a4,a5,b1,b2,b3,b4,b5,C,chem,m这些数都是要你输入的,你肯定没输入flag的数据吧,这是函数文件,要有输入输出的,sys,x0,str,ts是反馈回来的输出 ...

相似回答