2011-04-17 144 views
0

我不能爲我的生活記住或找到將標準均勻分佈轉化爲離散均勻分佈的公式,其範圍爲[a,b]。我特別要找的是一個離散的均勻隨機數發生器,它產生[a,b]範圍內的數字,我需要它是Math.random()的一個函數,其中Math.random()是一個連續的統一分佈範圍爲[0,1)標準均勻分佈到離散均勻[a,b]

如果您知道這一轉變,我將非常感謝您的幫助。
謝謝,
湯姆

+0

我想我可能已經得到它。 '(int)(a + Math.random()*(b - a + 1))' – Tom 2011-04-17 07:41:13

+0

我不明白你的'+ 1' – 2011-04-18 10:34:56

回答

1

像你想的affine transformation [0,1],以它看起來對我[A,B]。

因此,其中x在[0,1]中,您想要將其轉換爲a + x × (b - a),然後對結果進行舍入。你需要四捨五入,而不是簡單地施放,否則你的分佈會略微偏斜。

通過在鑄造前添加0.5來完成鑄件倒圓。