給定一個隨機數發生器r()
其中用於0 <= x <= 1
和p(x) = 0
產生(僞)隨機double
在區間[0,1]
具有均勻密度,即p(x) = 1
別處,創建一個隨機數發生器r(a,b)
其生成double
在區間[a,b]
與密度p(x) = 1/(b-a)
爲a <= x <= b
。改變間隔
改變間隔
回答
我相信(並已測試),這會產生均勻的分佈。
r(a,b) = ((r * b) mod (b-a)) + a
但有另一個更明顯的方式?
是:
r(a, b) = r*(b-a) + a
+1不,這是明顯的,因爲它在算術:) – dasblinkenlight
這也是不正確的。它不會在[b-1,b)中生成數字 – amit
應該是(... mod(b-a + 1))...? – bountiful
如果您還想維持生成的數量密度(同時考慮double
不是實數):
r(a,b) = (r1*(b-a) + a) + r2
第一個表達式生成範圍[數字a,b-1],而最後一個生成小數。
注:這個回答假設b
和a
是整數 - 的想法站和小的修改,如果情況並非如此。
PS /編輯:內[生成均勻隨機偏離的
r(a,b) = r*(b-a) + a
但是如果'r1 = 1'呢?然後'r(a,b)> a'如果'r2!= 0' – bountiful
- 1. SetTimer不改變時間間隔
- 2. 變焦後更改時間間隔
- 3. 索引間隔之前,改變設定
- 4. 循環間隔意外改變
- 5. sleepForTimeInterval更改間隔
- 6. 將時間間隔從5秒改變爲特定時間
- 7. 日期時間計時器時間間隔不會改變加
- 8. 更改時間間隔
- 9. 改變一個android服務在特定時間間隔執行
- 10. 我們可以動態改變「時間表」的間隔嗎?
- 11. 什麼是改變對的最有效的時間間隔?
- 12. 更改輪詢間隔2010
- 13. Bootstrap輪播間隔更改
- 14. setInterval的更改間隔
- 15. 瓶 - Get_JSON改變分隔符
- 16. StructureMap 3間隔變化
- 17. jQuery的 - 可變間隔
- 18. 如何更改perfmon時間軸間隔
- 19. 更改計時器的時間間隔
- 20. 將間隔時間更改爲隨機?
- 21. Swift NSTimer動態更改時間間隔
- 22. 更改NSTimer的時間間隔
- 23. 時間間隔後圖像的變化
- 24. 時間間隔不斷變化?
- 25. 清除間隔和變量:清除間隔失敗
- 26. 設置和清除間隔變成多個間隔
- 27. 在循環中使用的setInterval改變間隔
- 28. .NET圖表控件 - 動態改變y軸間隔
- 29. 有一個腳本,之後的時間間隔需要改變div來改變,因此只能運行一次
- 30. 在R中將開始結束時間間隔更改爲更小的間隔
可能重複:如果不考慮關於密度(或假定
[0,1]
是一個無限的範圍),它可以用一個單一的隨機變量進行一個給定的範圍](http://stackoverflow.com/questions/446153/generating-uniform-random-deviates-within-a-given-range) –鏈接的問題只考慮整數。 – bountiful
爲什麼精心設計的答案?它不像'a +(b - a)* r()'那麼簡單。我錯過了什麼? –