中易网

求simulink实现S函数的双输入单输出的例子,本人新手,望大虾指点~

答案:1  悬赏:0  
解决时间 2021-01-17 10:00
  • 提问者网友:一抹荒凉废墟
  • 2021-01-16 13:55
求simulink实现S函数的双输入单输出的例子,本人新手,望大虾指点~
最佳答案
  • 二级知识专家网友:蓝房子
  • 2021-01-16 14:03
只要进行设置即可不过要看你具体什么功能 因为功能不同 采用的函数不同如下实现y=u1+2u2
function [sys,x0,str,ts] = sfuntmpl(t,x,u,flag)

switch flag,

case 0,
[sys,x0,str,ts]=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
error(['Unhandled flag = ',num2str(flag)]);

end

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

sizes = simsizes;

sizes.NumContStates= 0;
sizes.NumDiscStates= 0;
sizes.NumOutputs = 1;
sizes.NumInputs= 2;
sizes.DirFeedthrough = 1;
sizes.NumSampleTimes = 1; % at least one sample time is needed

sys = simsizes(sizes);

%
% initialize the initial conditions
%
x0= [];

%
% str is always an empty matrix
%
str = [];

ts= [0 0];
function sys=mdlDerivatives(t,x,u)
sys = [];
function sys=mdlUpdate(t,x,u)
sys = [];
function sys=mdlOutputs(t,x,u)

sys = u(1)+2*u(2);

function sys=mdlGetTimeOfNextVarHit(t,x,u)

sampleTime = 1;%Example, set the next hit to be one second later.
sys = t + sampleTime;

function sys=mdlTerminate(t,x,u)

sys = [];
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息