Clear Filters
Clear Filters

How to fix up my s function?

1 view (last 30 days)
Maidul Islam
Maidul Islam on 12 Jun 2016
Commented: Walter Roberson on 13 Jun 2016
function [sys,x0,str,ts,simStateCompliance] = fcnuav_1d_sfun(t,x,u,flag)
switch flag,
case 0,
[sys,x0,str,ts,simStateCompliance]=mdlInitializeSizes;
case 1,
sys=mdlDerivatives(t,x,u);
case 2,
sys=mdlUpdate(t,x,u);
case 3,
sys=mdlOutputs(t,x,u);
case 4,
sys=mdlGetTimeOfNextVarHit(t,x,u);
case 9,
sys=mdlTerminate(t,x,u);
otherwise
DAStudio.error('Simulink:blocks:unhandledFlag', num2str(flag));
end
function [sys,x0,str,ts,simStateCompliance]=mdlInitializeSizes
sizes = simsizes;
sizes.NumContStates = 0;
sizes.NumDiscStates = 0;
sizes.NumOutputs = 1;
sizes.NumInputs = 2;
sizes.DirFeedthrough = 0;
sizes.NumSampleTimes = 1;
sys = simsizes(sizes);
x0 = [];
str = [];
ts = [0 0];
simStateCompliance = 'UnknownSimState';
function sys=mdlDerivatives(t,x,u)
sys = [];
function sys=mdlUpdate(t,x,u)
sys = [];
function sys=mdlOutputs(t,x,u)
m = 0.18;
g = 9.81;
kp = 18;
kd = 175;
zdot2_des = 0;
e = u;
U = m*(zdot2_des+kp*e(2)+kd*e(1)+g);
sys = [U];
function sys=mdlGetTimeOfNextVarHit(t,x,u)
sampleTime = 1;
sys = t + sampleTime;
function sys=mdlTerminate(t,x,u)
sys = [];
  1 Comment
Walter Roberson
Walter Roberson on 13 Jun 2016
We might be able to suggest a dating site for lonely functions, but I think it would probably be even better if you described the difficulty you are encountering with the code including any error message.

Sign in to comment.

Answers (0)

Categories

Find more on Block and Blockset Authoring in Help Center and File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!