flag=0 matlab,matlab s函数flag=3时,时间变0,求大神帮忙解决!!!!

该博客主要讨论了一个在MATLAB S函数中遇到的问题,当flag等于3时,时间变为0并抛出错误。博主详细展示了`sfunction.m`文件中的代码,并寻求帮助解决在执行`mdlOutputs`时遇到的错误。
摘要由CSDN通过智能技术生成

本帖最后由 暗—电气 于 2016-3-3 11:07 编辑

总是出现Error in 'matrixconverter70/sigal4/S-Function' while executing MATLAB S-function 'resource', flag = 3 (output), at time 0.0.

function [sys,x0,str,ts] = resource(t,x,u,flag)

Output argument "sys" (and maybe others) not assigned during call to "D:\MATLAB1\resource.m>mdlOutputs".

switch flag,

%%%%%%%%%%%%%%%%%%

% Initialization %

%%%%%%%%%%%%%%%%%%

case 0,

[sys,x0,str,ts] = mdlInitializeSizes;

%%%%%%%%%%

% Update %

%%%%%%%%%%

%case 2,

%  sys = mdlUpdate(t,x,u);

%%%%%%%%%%

% Output %

%%%%%%%%%%

case 3,

sys = mdlOutputs(t,x,u);

%%%%%%%%%%%%%

% Terminate %

%%%%%%%%%%%%%

case {1,2,4,9},

sys = [];

otherwise

error(['unhandled flag = ',num2str(flag)]);

end

function [sys,x0,str,ts] = mdlInitializeSizes

sizes = simsizes;

sizes.NumContStates = 0;

sizes.NumDiscStates = 0;

sizes.NumOutputs     = 9;

sizes.NumInputs    = 2;

sizes.DirFeedthrough = 1;

sizes.NumSampleTimes = 1;

sys = simsizes(sizes);

x0=[];

str=[];

ts=[0,0];

% end mdlInitializeSizes

%=======================================================================

% mdlUpdate

% Handle discrete state updates, sample time hits, and major time step

% requirements.

%=========================================================

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值