返回信息流小白刚入门,弱弱的问一下
如图这个S函数为什么会报错,我是按书上例子在S函数模板中修改的,
并不记得有'f'这个变量哇....
这是一条镜像帖。来源:北邮人论坛 / matlab / #11857同步于 2015/12/22
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Matlab机器人发帖
新手求助matlab simulink 仿真问题
anchor331
2015/12/22镜像同步5 回复
订阅后,新回复会通过你的通知中心匿名送达。
5 条回复
你是不是S-FUNCTION里面的函数没定义~
【 在 anchor331 (anchor331) 的大作中提到: 】
: 小白刚入门,弱弱的问一下
: 如图这个S函数为什么会报错,我是按书上例子在S函数模板中修改的,
: 并不记得有'f'这个变量哇....
: ...................
通过『我邮2.0』发布
【 在 hx0502001 的大作中提到: 】
: 你是不是S-FUNCTION里面的函数没定义~
:
: 通过『我邮2.0』发布
--------------------------
贴一下代码,我不是很清楚我有没有定义,我觉得我定义了呀
function [sys,x0,str,ts] = Sanci(t,x,u,flag,a,freq)
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,a,freq);
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;f
sizes.NumContStates = 0;
sizes.NumDiscStates = 0;
sizes.NumOutputs = 1;
sizes.NumInputs = 1;
sizes.DirFeedthrough = 1;
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)
T=1/freq;
m=rem(u,T);
k=floor(u/T);
R=4*a*freq;
c=T/2;
if((m>=0)&(m<c))
sys=R*(u-(k+0.25)*T);
elseif((m>=c)&(m<=T))
sys=-[R*(u-(k+0.75)*T)];
else sys=a;
end
我说的是simulink图里面的那个s-function部分,你双击试试,里面定义函数了没有
【 在 anchor331 (anchor331) 的大作中提到: 】
: 小白刚入门,弱弱的问一下
: 如图这个S函数为什么会报错,我是按书上例子在S函数模板中修改的,
: 并不记得有'f'这个变量哇....
: ...................
通过『我邮2.0』发布
【 在 hx0502001 的大作中提到: 】
: 我说的是simulink图里面的那个s-function部分,你双击试试,里面定义函数了没有
:
: 通过『我邮2.0』发布
那您知道Ports and Data Manager在哪里吗?
我搜百度好像是因为我需要在这个界面里面修改我的参数?
这个图左边不是有写在哪吗?
【 在 anchor331 (anchor331) 的大作中提到: 】
: 那您知道Ports and Data Manager在哪里吗?
: 我搜百度好像是因为我需要在这个界面里面修改我的参数?
通过『我邮2.0』发布