gpt4 book ai didi

matlab - 即使在 Simulink 中使用过去的 SimState 时也可以设置自定义随机数生成器种子

转载 作者:行者123 更新时间:2023-12-02 06:34:32 27 4
gpt4 key购买 nike

我有一个问题,因为我需要使用先前保存的带有不同随机种子的 SimState 来运行多个模拟。我还没有设法让它发挥作用。

我尝试过使用

set_param('mod/Random Number', 'Seed', '3324')

如果我不使用以前保存的 SimState,这会起作用,但是一旦我使用 SimState 尝试此操作,所有模拟仍然会以相同的随机数结束(我猜新设置的种子将被忽略,而不是正在使用 SimState 中保存的种子,尽管我尝试查看 SimState 数据结构,但我无法真正弄清楚它是否包含过去的种子以及它是否确实包含我应该如何更改它)。

我最好的方法是什么?理想情况下,我只需调用一个函数(shuffle_seeds),所有随机 block 中的所有种子都将重置为新的东西。

注意:我的临时解决方案是使用自定义输入端口(在根级别),然后为每个时间步提供均匀或正态分布的输入数字,但这不是一个非常好的解决方案(并且非常棘手)如果在任何其他 block 中使用小于 1 的采样时间,则开始工作,因为值会被插值)。

最佳答案

您是否打开或关闭了“内联参数”?如果您打开了它,您可以尝试将种子参数设置为可调参数。 documentation 中提供了有关可调参数的更多信息。 。如果“内联参数”关闭,我认为它会起作用,因为 SimState 不会在 SimState 中,尽管我对此并不肯定。

关于matlab - 即使在 Simulink 中使用过去的 SimState 时也可以设置自定义随机数生成器种子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9177235/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com