生成随机持续时间SIMULINK的开/关信号

时间:2015-02-16 12:56:48

标签: events simulink exponential-distribution

对于我的SIMULINK模型,我需要生成一个取值为1或0的信号。要生成它,我需要从指数分布中绘制一个数字,并使用此数字作为信号保持在0的时间。时间已过,我必须从指数分布中绘制一个新数字,并使用此数字作为信号保持在1的时间,并重复该过程直到模拟结束。作为一名SIMULINK新手,我对这个问题感到非常困惑,并会对如何解决这个问题提出任何建议。

1 个答案:

答案 0 :(得分:0)

你有几个选择。

在MATLAB中,您可以提前生成所有样本(即在运行模拟之前)并使用它们创建合适的信号,然后将其用作模型的输入(使用From Workspace块)。 / p>

或者,如果您需要在每个时间步进行采样,则必须使用mdlGetTimeOfNextVarHit方法中的随机数编写S函数。在名为Goddard ConsultingSquare Wave with Jitter网站上有一个非常相似的例子。