可能重复:
如何为伪随机数生成器设置自定义种子
我正在用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
当您想要重新开始并获得相同的随机数集时,必须调用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
绘制的数字都是随机的,但每次都是同一组随机数。