蒙特卡羅演算法是一種利用統計來解決問題的方法。 考慮到在某些情況下會發生事件的機率 P,可以使用計算機重複生成這些條件。 事件發生的次數除以生成條件的次數應約等於 P。
在 Julia ,我們可以使用 rand
函數來產生亂數,產生亂數可以參考官方文件。
根據亂數函數,我們相信在 [0, 1)
區間內,每個數字出現的機率相同。我們呼叫兩次 rand()
函數,並將之分別指定於 xs
跟 ys
來作為 100 個點的座標。
julia> n = 100;
julia> xs = rand(n);
julia> ys = rand(n);
接下來判斷如果此點在半徑為 1 之圓內,則在計數器上加一。若我們將上述步驟執行夠多次,我們相信點落在圓內之機率與面積比成正比,故可由事件發生機率來得知面積,進而推算出 pi 值。
- 使用利用蒙地卡羅方法求 Pi
- 使用利用蒙地卡羅方法求下列定積分 hint