资源简介

搭建了连续和离散两种情况下的pid s函数,效果可以,互相学习参考。

资源截图

代码片段和文件信息

 function [sysx0strtssimStateCompliance] = control_object(txuflag)
switch flag
  case 0
    [sysx0strtssimStateCompliance]=mdlInitializeSizes;
  case 1
    sys=mdlDerivatives(txu);
  case 2
    sys=mdlUpdate(txu);
  case 3
    sys=mdlOutputs(txu);
  case 4
    sys=mdlGetTimeOfNextVarHit(txu);
  case 9
    sys=mdlTerminate(txu);
    otherwise
    DAStudio.error(‘Simulink:blocks:unhandledFlag‘ num2str(flag));
end


function [sysx0strtssimStateCompliance]=mdlInitializeSizes
sizes = simsizes;
sizes.NumContStates  = 2;
sizes.NumDiscStates  = 0;
sizes.NumOutputs     = 1;
sizes.NumInputs      = 1;
sizes.DirFeedthrough = 0;
sizes.NumSampleTimes = 1;   % at least one sample time is needed【一个采用周期时间,可有多个】
sys = simsizes(sizes);
x0  = [0;0];

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       1266  2019-01-10 16:13  pid连续和离散的s函数\control_object.m

     文件       1406  2019-01-10 15:57  pid连续和离散的s函数\pid_control.m

     文件       1238  2019-01-10 16:30  pid连续和离散的s函数\pid_control_d.m

     文件      15785  2019-01-10 16:37  pid连续和离散的s函数\PID_S.slx

     目录          0  2019-01-10 16:38  pid连续和离散的s函数

----------- ---------  ---------- -----  ----

                19695                    5


评论

共有 条评论