编写matlab s函数,运行时老是出现“??? Input argument "flag" is undefined.”这样的错误,为何?
编写s函数出现flag是undefined的报错我的代码是:function[sys,x0,str,ts]=c8mhebb(t,x,u,flag,deltak)switc...
编写s函数出现flag是undefined的报错
我的代码是:
function[sys,x0,str,ts]=c8mhebb(t,x,u,flag,deltak)
switch flag,
case 0,[sys,x0,str,ts]=mdlinitializesizes;
case 2,sys=mdlupdate(t,x,u,deltak);
case 3,sys=mdloutput(t,x,u);
case{ 1,4,9} ,sys=[];
otherwise,error(['unhandled flag',num2str(flag)]);
end
%模块初始化函数 mdlinitializesizes
function[sys,x0,str,ts] =mdlinitializesizes
sizes = simsizes % 读入系统变量的默认值
sizes.numcontstates=0;
sizes.numdiscstates=3;
sizes.numoutputs=4;
sizes.numinputs=4;
sizes.dirfeedthrough=1;
sizes.numsampletimes=1;
sys=simsizes(sizes);
x0=[0.3*rand(3,1)];
str=[];
ts=[-1 0];
%离散状态更新函数
function sys =mdlupdate(t,x,u,deltak)
sys= x+deltak*u(1)*u(4)*(2*u(1)-u(2));
%输出量计算函数
function sys=mdloutputs(t,x,u)
xx=[u(1)-u(2) u(1) u(1)+u(3)-2*u(2)];
sys=[u(2)+0.12*xx*x/sum(abs(x)); x/sum(abs(x))]
请求高手帮助,为什么会出现这样Input argument "flag" is undefined.的报错,我都是按照书上写的
这个是用于simulink的 s函数,还需要定义吗?我看了好多例子都没定义 展开
我的代码是:
function[sys,x0,str,ts]=c8mhebb(t,x,u,flag,deltak)
switch flag,
case 0,[sys,x0,str,ts]=mdlinitializesizes;
case 2,sys=mdlupdate(t,x,u,deltak);
case 3,sys=mdloutput(t,x,u);
case{ 1,4,9} ,sys=[];
otherwise,error(['unhandled flag',num2str(flag)]);
end
%模块初始化函数 mdlinitializesizes
function[sys,x0,str,ts] =mdlinitializesizes
sizes = simsizes % 读入系统变量的默认值
sizes.numcontstates=0;
sizes.numdiscstates=3;
sizes.numoutputs=4;
sizes.numinputs=4;
sizes.dirfeedthrough=1;
sizes.numsampletimes=1;
sys=simsizes(sizes);
x0=[0.3*rand(3,1)];
str=[];
ts=[-1 0];
%离散状态更新函数
function sys =mdlupdate(t,x,u,deltak)
sys= x+deltak*u(1)*u(4)*(2*u(1)-u(2));
%输出量计算函数
function sys=mdloutputs(t,x,u)
xx=[u(1)-u(2) u(1) u(1)+u(3)-2*u(2)];
sys=[u(2)+0.12*xx*x/sum(abs(x)); x/sum(abs(x))]
请求高手帮助,为什么会出现这样Input argument "flag" is undefined.的报错,我都是按照书上写的
这个是用于simulink的 s函数,还需要定义吗?我看了好多例子都没定义 展开
2个回答
展开全部
function[sys,x0,str,ts]=c8mhebb(t,x,u,flag,deltak)这个相当于函数定义,你需要写个代码调用它,把t,x,u,flag,deltak 这几个定义了,不然肯定会出现
Input argument "flag" is undefined (输入变量"flag"没有定义)这个错误。
Input argument "flag" is undefined (输入变量"flag"没有定义)这个错误。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询