我想使用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中是相同的,我不應該'即使得到浮點錯誤,因爲它們應該完全相同。 –