【发布时间】:2012-09-08 00:42:00
【问题描述】:
可能重复:
How to set custom seed for pseudo-random number generator
我正在使用 matlab 构建一些模拟,并使用 rand 函数。
我想在每次运行时都获得相同的结果。我在某处读到我必须设置 rand 函数的种子。我尝试使用
s = RandStream('mcg16807', 'seed', 0)
RandStream.setGlobalStream(s);
但它没有用。我是不是搞错了?
>> s = RandStream('mcg16807', 'seed', 5)
>> RandStream.setGlobalStream(s);
>> rand
ans =
0.5645
>> rand
ans =
0.3024
>> rand
ans =
0.7520
【问题讨论】:
-
检查here
-
@angainor 我已经阅读了那篇文章,但它没有用
-
你写的东西对我来说很完美。我不知道你还需要什么。调用这两行代码后,rand 返回相同的数字。
-
如果你想得到相同的结果,你必须在每个
rand之前再次执行RandStream。 -
当然。每次 after 为生成器播种时,它都会从同一点开始生成序列。这并不意味着它只会生成一个数字。这将是相同的数字序列。
标签: matlab random simulation random-seed