【问题标题】:How to set the same initial seed random numbers in Matlab?如何在 Matlab 中设置相同的初始种子随机数?
【发布时间】:2015-10-12 02:47:27
【问题描述】:

我有一个 matlab 代码,其中包含一堆随机数,例如:unifrnd(0,1)normrnd(mu,sigma),这类函数会一遍又一遍地重复。

有什么方法可以修复生成的随机数?意思是,我在得到一些结果后运行代码,在第二次运行时我得到不同的结果(如预期的那样)。但是,我想获得一些经验,如果我可以修复初始种子,这样两次运行的所有随机性都相同,那将非常有帮助。

谢谢, 五

编辑:会不会有这样的工作:rand('seed', 57)

【问题讨论】:

    标签: matlab random


    【解决方案1】:

    根据documentation

    rng(seed);
    

    设置随机数生成器的种子。

    【讨论】:

    • 您能说得更具体些吗?我应该在“种子”论点中加入什么?我上面的建议也有用吗?
    • 在调用任何rand 函数之前放置该行。 rng(seed) 使用非负整数种子为随机数生成器播种,以便 randrandirandn 生成可预测的数字序列。
    • 嗯,我有 100 多个 unifrnd 和 normrnd 函数。必须有一行代码使 matlab 生成可预测的随机数序列。可能这就是解决方案:stackoverflow.com/questions/5891443/…
    • 是的,种子应该在程序顶部设置一次。
    • rng(seed);之前添加rng('default')
    猜你喜欢
    • 2018-03-05
    • 2020-11-03
    • 2015-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-30
    • 2016-11-12
    相关资源
    最近更新 更多