我正在編寫我的大學作業,它與分佈和隨機卷子有些相關。所以問題是:如何在Ruby中獲得具有給定離散分佈的隨機數。如何獲得一個隨機數在Ruby中給定的分佈式分佈
更具體地:在簡單的例子中包含正常離散分佈(0與P = 1/2; 1000,P = 1/2)可以寫這樣的功能:
def chooseNumber(a,b)
rval = Random.rand(0..1)
return a if rval == 0
return b
end
第一個問題:有沒有什麼方法可以使用本機Random類來編寫它?第二個問題:處理分佈問題的最好方法是什麼?(0 = P = 1/5; 2 = P = 2/5; 1000 = P = 2/5)或者更差(P = 0,33; 2與P = 0,49; 1000與P = 0,18)?
http://stackoverflow.com/ q/8877249/125816 - 這是javascript,但你應該明白。 –
查看[AliasTable](https://rubygems.org/gems/aliastable)gem以獲得高效的通用解決方案。 – pjs
@pjs謝謝!這是應該解決的。 – ddnomad