國際上公認的計算π的值得最好的方法,就是在一向乙個邊長為1的正方形區域裡面隨機的扔一些石子,用落在扇形裡面的個數和總的個數的乙個比例關係,就可以近似求解出π的值
就類似這樣,我們可以知道這個比值 = (π/4),故π = 4*rate(比值)
一下是我用python實現的**
from
random import random
from math import sqrt
from
time import clock
max = 2**20
count = 0
clock()
for i in range(1,max):
x,y = random(),random()
dis = sqrt(x**2+y**2)
if dis <= 1:
count = count+1
pi = 4*(float(count)/max)
print "pi的值為:%lf" % (pi)
print "程式執行時間為:%-5ss" % clock()
五次的實驗結果如下:
蒙特卡洛方法
蒙特卡洛方法 monte carlo method,也有翻譯成 蒙特卡羅方法 是以概率和統計的理論 方法為基礎的一種數值計算方法,將所求解的問題同一定的概率模型相聯絡,用計算機實現統計模擬或抽樣,以獲得問題的近似解,故又稱隨機抽樣法或統計試驗法。上述就是蒙特卡洛方法的基本概念,比較抽象,下面結合實際...
蒙特卡洛方法
這個演算法是用來求解積分和一些運算的,主要就是通過概率模擬的方法,比如對於 或者積分 import random def calpai n 1000000 r 1.0 a,b 0.0,0.0 x neg,x pos a r,a r y neg,y pos b r,b r count 0 for i ...
蒙特卡洛方法 蒙特卡洛方法概率密度函式
簡介 為了更加清楚的讓同學們深刻的理解pbr裡面那些公式背後的東西,同學們務必先來擼一遍光線追蹤,畢竟我們這裡舉例的這些蒙特卡洛方法都是光線追蹤第三卷裡 ray tracing the rest of your life 的舉例,只不過可能對於有的同學來說,閱讀起來比較難,所以我們來更加詳盡的翻譯或...