单看这段程序应该是没有问题的。如果你在s-function里面只用了outputs函数,可以直接使用MATLAB Function(早期版本叫Embedded MATLAB Function)更加简单,减少报错几率。
我以前有个类似的百度知道回答,s-function本身没有问题,调试通过,你看看:
http://zhidao.baidu.com/question/218099186.html?oldq=1&from=evaluateTo#reply-box-604170114
function sys=mdlOutputs(t,x,u)
if (u>=0)&&(u
elseif (u>=pi/3)&&(u<2*pi/3)
sys=[1;0;-1];
elseif (u>=2*pi/3)&&(u
elseif (u>=pi)&&(u<4*pi/3)
sys=[-1;1;0];
elseif (u>=4*pi/3)&&(u<5*pi/3)
sys=[-1;0;1];
else
sys=[0;-1;1];
end
应该用&& 代替&表示与。
不过貌似你的还书中t,x变量好像没用到,不知道又没有问题
可以 这是一个函数 不知道你是如何运行的
没有说清楚
没给u赋值吧