对于我的 SIMULINK 模型,我需要生成一个取值 1 或 0 的信号。要生成它,我需要从指数分布中绘制一个数字,并将该数字用作信号保持在 0 的时间。一旦这个时间过去了,我必须从指数分布中画一个新的数字,并用这个数字作为信号停留在1的时间,重复这个过程直到模拟结束。作为一个 SIMULINK 新手,我对这个问题感到很困惑,如果有任何关于如何解决它的建议,我将不胜感激。
问问题
430 次
1 回答
0
你有几个选择。
在 MATLAB 中,您可以预先生成所有样本(即在运行仿真之前)并使用它们来创建合适的信号,然后将其用作模型的输入(使用From Workspace模块)。
或者,如果您需要在每个时间步进行采样,那么您必须编写一个 S-Function,使用mdlGetTimeOfNextVarHit方法中的随机数。在Goddard Consulting网站上有一个非常相似的例子,叫做Square Wave with Jitter。
于 2015-02-17T00:47:45.313 回答