可能重复:
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
答案 0 :(得分:0)
当您想要重新开始并获得相同的随机数时,您必须致电RandStream.setGlobalStream
:
>> s = RandStream('mcg16807', 'seed', 5)
>> RandStream.setGlobalStream(s);
>> rand
ans =
0.5645
>> rand
ans =
0.3024
>> s = RandStream('mcg16807', 'seed', 5)
>> RandStream.setGlobalStream(s);
>> rand
ans =
0.5645
>> rand
ans =
0.3024
我通常只调用setGlobalStream
一次,在脚本开头我想每次都给我相同的答案。 rand
绘制的数字都是随机的,但每次都是相同的随机数集。