題目說明:
蒙地卡羅為摩洛哥王國之首都,該國位於法國與義大利國境,以賭博聞名。蒙地卡羅的基本原理為以亂數配合面積公式來進行解題,這種以機率來解題的方式帶有賭博的意味,雖然在精確度上有所疑慮,但其解題的思考方向卻是個值得學習的方式。
題目解析:
蒙地卡羅的解法適用於與面積有關的題目,例如求pi值或橢圓面積,這邊介紹如何求pi值;假設有乙個圓半徑為1,所以四分之一圓面積就為pi,而包括此四分之一圓的正方形面積就為1,如下圖所示:
如果隨意的在正方形中投射飛標(點)好了,則這些飛標(點)有些會落於四分之一圓內,假設所投射的飛標(點)有n點,在圓內的飛標(點)有c點,則依比例來算,就會得到上圖中最後的公式。
至於如何判斷所產生的點落於圓內,很簡單,令亂數產生x與y兩個數值,如果x^2+y^2等於1就是落在圓內。
程式**:
#include #include#include
#include
using
namespace
std;
double montecarlopi(int
nsize)
}return (double)ncount * 4 /nsize;
}test(algo, tmontecarlopi)
蒙地卡羅法求 PI
蒙地卡羅法求 pi 蒙地卡羅為摩洛哥王國之首都,該國位於法國與義大利國境,以賭博聞名。蒙地卡羅的基本原理為以亂數配合面積公式來進行解題,這種以機率來解題的方式帶有賭博的意味,雖然在精確度上有所疑慮,但其解題的思考方向卻是個值得學習的方式。演算法說明 蒙地卡羅的解法適用於與面積有關的題目,例如求pi值...
蒙地卡羅法求 PI
蒙地卡羅為摩洛哥王國之首都,該國位於法國與義大利國境,以賭博聞名。蒙地卡羅的基本原理為以亂數配合面積公式來進行解題,這種以機率來解題的方式帶有賭博的意味,雖然在精確度上有所疑慮,但其解題的思考方向卻是個值得學習的方式。解法蒙地卡羅的解法適用於與面積有關的題目,例如求pi值或橢圓面積,這邊介紹如何求p...
蒙特卡羅演算法 PI
原理 如果均勻向正方形內撒點,那麼落入陰影部分的點數與全部的點數之比是s陰影 s正 pi 4 只要撒入的點越多,值越相近 演算法實現 1 均勻撒點,使用隨機函式來實現,產生 0,1 之間的隨機數的座標值 x,y 2 區域判斷 圖中陰影部分特點是座標原點的離座標原點小於等於1 x x y y 1 in...