采样时间作为输入 - simulink

时间:2015-05-20 14:24:46

标签: matlab simulink

我正在尝试创建一个函数库,允许我参数化过滤器和其他函数。在simulink标准块中,我只能先设置采样时间,而不是输入。关于如何创建这个有什么想法吗?我的第一种方法是使用条件和时钟来允许此参数存在,但时钟也不能参数化。

提前致谢。

1 个答案:

答案 0 :(得分:0)

执行此操作的唯一方法是将每个块写为S函数。

如果您使用的是m代码,那么在setup方法中,您需要将块样本时间定义为

block.SampleTimes = [-2 0];

然后在output方法中,您需要通过将新值分配到block.NextTimeHit来设置下一个采样时间(基于输入信号的值)。 可以在此处找到执行此操作的示例:A Square Wave with Jitter

使用mdlGetTimeOfNextVarHit方法可以在c-mex S-Function中完成类似的事情。