我正在尝试创建一个函数库,允许我参数化过滤器和其他函数 . 在simulink标准块中,我只能先设置采样时间,而不是输入 . 关于如何创建这个有什么想法吗?我的第一种方法是使用条件和时钟来允许此参数存在,但时钟也不能参数化 .
提前致谢 .
唯一的方法是将每个块写为S函数 .
如果您使用m代码,那么在 setup 方法中,您需要将块样本时间定义为
setup
block.SampleTimes = [-2 0];
然后在 output 方法中,您需要通过将新值分配到 block.NextTimeHit 来设置下一个采样时间(基于输入信号的值) . 这样做的一个例子可以在这里找到:A Square Wave with Jitter
output
block.NextTimeHit
通过使用mdlGetTimeOfNextVarHit方法,可以在c-mex S-Function中完成类似的操作 .
1 回答
唯一的方法是将每个块写为S函数 .
如果您使用m代码,那么在
setup
方法中,您需要将块样本时间定义为block.SampleTimes = [-2 0];
然后在
output
方法中,您需要通过将新值分配到block.NextTimeHit
来设置下一个采样时间(基于输入信号的值) . 这样做的一个例子可以在这里找到:A Square Wave with Jitter通过使用mdlGetTimeOfNextVarHit方法,可以在c-mex S-Function中完成类似的操作 .