马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
求助!关于SIMULINK中S-Fcn的运行中出错的问题!
我的函数名是selectstep,程序如下:
function[sys,x0,str,ts]=selectstep(t,x,u,flag)
switch flag,
case 0,
[sys,x0,str,ts]=mdlInitializeSizes(t,x,u);
case 3,
sys=selectstep-Outputs(t,x,u);
case {1,2,4,9},
sys=[];
otherwise
error('Unhandled flag=',num2str(flag));
end
function[sys,x0,str,ts]=mdlInitializeSizes(t,x,u)
sizes=simsizes;
sizes.NumContStates=1; %模块连续状态变量的个数
sizes.NumDiscStates =0; %模块离散状态变量的个数
sizes.NumOutputs =3; %模块输出变量的个数
sizes.NumInputs =1; %模块输入变量的个数
sizes.DirFeedthrough =0; %模块是否存在直接贯通
sizes.NumSampleTimes=1; %模块的采样时间个数,至少是一个
sys=simsizes(sizes); %设置完后赋给sys输出
x0=[];
str=[];
ts=[0,0];
sys=zeros(1,3);
function sys=selectstep-output(t,x,u)
if u=0
sys=zeros(1,3);
else
for t=1:u
sys(t)=1;
end
end
前面的信号给的是一个阶跃,1S前是1,1S后是3.
每次一运行就一直在initialing然后就等于死机了,连MATLAB都关不掉!
请问这是什么回事,我的操作哪儿出错了,或是说我的使用是不是出了问题?? |