我想使用mersenne twister生成10到50之间的'N'个随机数。我希望能够一遍又一遍地生成相同的序列。MATLAB:生成相同的随机数字序列
我写以下代码:(种子= 50,A = 10,B = 50,N =需要随机数的数)
s = rng(seed, 'twister');
r = a + (b-a)*rand(N,1);
rng(s);
r1 = a + (b-a)*rand(N,1);
现在,即使我打印
r1 - r
我不要零。我期望能获得零,因为我已经重置随机数发生器它在我的代码的第三行初始状态。
我的问题是我要去哪里?
如果你得到一个非常接近零的东西,它只是浮点错误 – nkjt
不,我得到10的顺序显着错误。 –
如果产生的随机数在r1和r中是相同的,我不应该'即使得到浮点错误,因为它们应该完全相同。 –