1. 程式人生 > >產生特定分佈的隨機數(一):均勻分佈和高斯分佈

產生特定分佈的隨機數(一):均勻分佈和高斯分佈

    基本思想: 先得到服從均勻分佈的隨機數;  然後再將服從均勻分佈的隨機數轉變為服從正態分佈。Box-Muller 是產生隨機數的一種方法。Box-Muller 演算法隱含的原理非常深奧,但結果卻是相當簡單。如果在 (0,1] 值域內有兩個一致的隨機數字 U1 和 U2,可以使用以下兩個等式中的任一個算出一個正態分佈的隨機數字 Z: Z = R * cos( θ ) 或 Z = R * sin( θ ) 其中, R = sqrt(-2 * ln(U2)), θ = 2 * π * U1,正態值 Z 有一個等於 0 的平均值和一個等於 1 的標準偏差,可使用以下等式將 Z 對映到一個平均值為 m、標準偏差為 sd 的統計量 X:
X = m + (Z * sd)。