附程序:
function [sys,x0,str,ts] = sys(t,x,u,flag)
switch flag,
case 0,
[sys,x0,str,ts]=mdlInitializeSizes;
case 3,
sys=mdlOutputs(t,x,u);
case{1,2,4}
sys=[];
case 9,
sys=mdlTerminate(t,x,u);
otherwise
error(['Unhandled flag=',num2str(flag)]);
end
function [sys,x0,str,ts]=mdlInitializeSizes
sizes = simsizes;
sizes.NumContStates =0;
sizes.NumDiscStates =0;
sizes.NumOutputs =3;
sizes.NumInputs =1;
sizes.DirFeedthrough =1;
sizes.NumSampleTimes =1;
sys= simsizes(sizes);
x0 =[];
str =[];
ts =[0 0];
function sys=mdlOutputs(t,x,u)
if (u>=0&u<pi/3)
sys=[1 -1 -u*6/pi+1];
elseif (u>=pi/3&u<2*pi/3)
sys=[1 u*6/pi-3 -1];
elseif (u>=2*pi/3&u<pi)
sys=[-u*6/pi+5 1 -1];
elseif (u>=pi&u<4*pi/3)
sys=[-1 1 u*6/pi-7];
elseif (u>=4*pi/3&u<5*pi/3)
sys=[-1 -u*6/pi+9 1];
elseif (u>=5*pi/3&u<2*pi)
sys=[u*6/pi-11 -1 1];
end
function sys=mdlTerminate(t,x,u)
sys=[];
UYOU
jeck猫
随时随地看视频慕课网APP