![]() |
[求助]请问一下,sfunction的flag位,在simulink中是如何给出的?
我看仿真程序,其中Sfunction不知道如何给出的flag位的值,规则是什么?
附:程序 function [sys,x0,str,ts] =spacemode(t,x,u,flag) switch [COLOR="DarkRed"]flag,[/COLOR] case [COLOR="Red"]0[/COLOR], [sys,x0,str,ts]=mdlInitializeSizes; case [COLOR="Red"]1[/COLOR], sys=mdlDerivatives(t,x,u); case[COLOR="red"] 3[/COLOR], sys=mdlOutputs(t,x,u); case [COLOR="red"]{2,4,9}[/COLOR] sys=[]; otherwise error(['Unhandled flag = ',num2str(flag)]); end function [sys,x0,str,ts]=mdlInitializeSizes sizes = simsizes; sizes.NumContStates = 2; sizes.NumDiscStates = 0; sizes.NumOutputs = 1; sizes.NumInputs = 3; sizes.DirFeedthrough = 0; sizes.NumSampleTimes = 1; % At least one sample time is needed sys = simsizes(sizes); x0 = [0;0]; str = []; ts = [0 0]; function sys=mdlDerivatives(t,x,u) %Time-varying model kp=10; ki=2; kd=1; ut=kp*u(1)+ki*u(2)+kd*u(3); J=20+10*sin(6*pi*t); K=400+300*sin(2*pi*t); sys(1)=x(2); sys(2)=-J*x(2)+K*ut; function sys=mdlOutputs(t,x,u) sys(1)=x(1); [IMG]C:\Documents and Settings\Administrator\桌面\00[/IMG] |
所有时间均为北京时间。现在的时间是 08:07。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.