在C/C 產生隨機常態偏差
產生遵循常態分佈的隨機數是各種應用程式中的常見任務。在 C/C 中,有多種方法可以在不依賴 Boost 等外部函式庫的情況下實現此目的。
一種廣泛使用的方法是 Box-Muller 變換,它將兩個均勻分佈的隨機數轉換為一對常態分佈的隨機數隨機數。數學公式如下:
x = sqrt(-2 * ln(u1)) * cos(2 * M_PI * u2) y = sqrt(-2 * ln(u1)) * sin(2 * M_PI * u2)
其中u1和u2是[0, 1]範圍內均勻分佈的隨機數。若要產生單一隨機常態偏差,請使用 Box-Muller 變換產生一對並傳回其中一個,儲存另一個以供後續使用。
以上是如何使用 Box-Muller 轉換在 C/C 中產生隨機常態偏差?的詳細內容。更多資訊請關注PHP中文網其他相關文章!