📄 simpendzzy.m
字号:
function [sys,x0,str,ts] = simpendzzy(t,x,u,flag,dampzzy,gravzzy,angzzy)
switch flag,
case 0, % Initialization
[sys,x0,str,ts]=mdlInitializeSizes(angzzy);
case 1, % Derivatives
sys=mdlDerivatives(t,x,u,dampzzy,gravzzy);
case 2, % Update
sys=mdlUpdate(t,x,u);
case 3, % Outputs
sys=mdlOutputs(t,x,u);
case 9, % Terminate
sys=mdlTerminate(t,x,u);
otherwise % Unexpected flags
error(['Unhandled flag = ',num2str(flag)]);
end
% ------ mdlInitializeSizes ------------------------
function [sys,x0,str,ts]=mdlInitializeSizes(angzzy)
sizes = simsizes;
sizes.NumContStates = 2;
sizes.NumDiscStates = 0;
sizes.NumOutputs = 1;
sizes.NumInputs = 1;
sizes.DirFeedthrough = 0;
sizes.NumSampleTimes = 1;
sys = simsizes(sizes);
x0 = angzzy;
str = [];
ts = [0,0];
% -----mdlDerivatives -----------------------------
function sys=mdlDerivatives(t,x,u,dampzzy,gravzzy)
dx(1)=-dampzzy*x(1)-gravzzy*sin(x(2))+u;
dx(2)=x(1);
sys =dx ;
% -----mdlUpdate ----------------------------------
function sys=mdlUpdate(t,x,u)
sys = [];
% -----mdlOutputs ---------------------------------
function sys=mdlOutputs(t,x,u)
sys = x(2);
% -----mdlTerminate -------------------------------
function sys=mdlTerminate(t,x,u)
sys = [];
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -