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