我有一个问题,我需要使用先前保存的具有不同随机种子的SimState运行多个模拟。我还没有设法让它工作。
我尝试过使用
set_param('mod/Random Number', 'Seed', '3324')
如果我不使用以前保存的SimState,这是有效的,但是当我用SimState尝试这个时,所有模拟仍然会得到相同的随机数(我猜新设置的种子被忽略了,而是正在使用保存在SimState中的种子,虽然我已经尝试查看SimState数据结构,但我无法弄清楚它是否包含过去的种子以及它是否应该如何改变它。
这里最好的方法是什么?理想情况下,我只需调用一个函数(shuffle_seeds),所有随机块中的所有种子都将重置为新的。
注意:我的临时解决方案是使用自定义输入端口(在根级别),然后为每个时间步长提供均匀或正常分布的数字输入,但这不是一个非常好的解决方案(并且非常棘手)如果在任何其他块中使用小于1的采样时间,则插入值。
答案 0 :(得分:1)
您是否打开或关闭了“内联参数”?如果已打开它,则可以尝试使种子参数成为可调参数。 documentation中有关于可调参数的更多信息。如果内联参数关闭,我认为它会起作用,因为SimState不会在SimState中,尽管我对此并不乐观。