sector.m

来自「spwm 仿真模型」· M 代码 · 共 46 行

M
46
字号
function [sys,x0,str,ts]=sector(t,x,u,flag)
switch flag,
   case 0,
    [sys,x0,str,ts]=mdlInitializeSizes;
   case 3,
    sys=mdlOutputs(u);
   case {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=2;
sizes.NumInputs=2;
sizes.DirFeedthrough=1;
sizes.NumSampleTimes=1;
sys=simsizes(sizes);
x0=[];
str=[];
ts=[-1 0];
function sys=mdlOutputs(u)
feia1=u(1)/2+sqrt(3)*u(2)/2;
feib1=u(1)/2-sqrt(3)*u(2)/2;
feic1=-u(1);
if feia1>=0
    Sa1=0;
else
    Sa1=1;
end
if feib1>=0
      Sb1=0;
else
  Sb1=1;
end
if feic1>=0
      Sc1=0;
else
    Sc1=1;
end
  sys(1)=4*Sa1+2*Sb1+Sc1;
  sys(2)=abs(sqrt(u(1)*u(1)+u(2)*u(2)));

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?