當前位置:編程學習大全網 - 編程軟體 - 有壹個程序叫s。

有壹個程序叫s。

我自己試過,效果不錯。PWM的基波是周期為0.015s的正弦波。不知道對不對。請檢查壹下。

函數[sys,x0,str,ts] = pwm(t,x,u,flag)

切換標誌,

案例0,

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

案例二,

sys=mdlUpdate(t,x,u);

案例三,

sys=mdlOutputs(t,x,u);

案例{4,9},

sys =[];

否則

錯誤(['未處理的標誌= ',num 2 str(flag)]);

結束

函數[sys,x0,str,ts]=mdlInitializeSizes

sizes = simsizes

尺寸。NumContStates = 0;

尺寸。NumDiscStates = 4;

尺寸。NumOutputs = 1;

尺寸。NumInputs = 0;

尺寸。dir feed through = 1;

尺寸。NumSampleTimes = 0;

sys = simsizes(大小);

x0 =[0 1/9000/4 0 0];

str =[];

ts =[];

函數sys=mdlUpdate(t,x,u)

t = 1/9000;

如果x(3)>= 179

x(3)= 0;

結束

如果t & gt= x(2)

如果x(1) == 0

x(1)= 1;

x(4)= T *(1+0.45 * sin(2 * pi * x(3)/180))/2;

其他

x(1)= 0;

x(4)= T *(1-0.45 * sin(2 * pi * x(3)/180))/4;

x(3)= x(3)+1;

結束

x(2)= x(2)+x(4);

結束

sys = x;

函數sys=mdlOutputs(t,x,u)

sys = x(1);

  • 上一篇:新人不懂OPC是什麽東西
  • 下一篇:IBM 公司中的ISSC是什麽部門?
  • copyright 2024編程學習大全網