Skip to content

Latest commit

 

History

History

MonteCarlo

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

Monte Carlo method

什麼是蒙特卡羅演算法?

蒙特卡羅演算法是一種利用統計來解決問題的方法。 考慮到在某些情況下會發生事件的機率 P,可以使用計算機重複生成這些條件。 事件發生的次數除以生成條件的次數應約等於 P。

在 Julia ,我們可以使用 rand 函數來產生亂數,產生亂數可以參考官方文件

利用蒙地卡羅方法求 Pi

根據亂數函數,我們相信在 [0, 1) 區間內,每個數字出現的機率相同。我們呼叫兩次 rand() 函數,並將之分別指定於 xsys 來作為 100 個點的座標。

julia> n = 100;
julia> xs = rand(n);
julia> ys = rand(n);

接下來判斷如果此點在半徑為 1 之圓內,則在計數器上加一。若我們將上述步驟執行夠多次,我們相信點落在圓內之機率與面積比成正比,故可由事件發生機率來得知面積,進而推算出 pi 值。

問題

  1. 使用利用蒙地卡羅方法求 Pi
  2. 使用利用蒙地卡羅方法求下列定積分 hint