一曼月、π的計算
①圓周率π是一個無理數四康,沒有任何一個精確公式能夠計算π值构舟,π的計算只能采用近似算法。
②國際公認的π值計算采用蒙特卡洛方法架诞。
③蒙特卡洛(Monte Carlo)方法拟淮,又稱隨機抽樣或統(tǒng)計試驗方法。當所求解的問題是某種事件出現的概率谴忧,或某隨機變量的期望值時很泊,可以通過某種“試驗”的方法求解。
④簡單說沾谓,蒙特卡洛是利用隨機試驗求解問題的方法委造。
二、π計算問題的IPO
輸入:拋點的數量
處理:對于每個拋灑點均驶,計算點到圓心的距離昏兆,通過距離判斷該點在圓內或是圓外。統(tǒng)計在圓內點的數量妇穴。
輸出:π值
# pi.py
from random import random
from math import sqrt
from time import clock
DARTS = 1200
hits = 0
clock()
for i in range(1,DARTS):
? ? ? x, y = random(),random()
? ? ? dist = sqrt(x**2 + y**2)
? ? ? if dist <= 1.0:
? ? ? ? ?hits = hits + 1
pi = 4 * (hits/DARTS)
print("Pi的值是 %s" % pi)
print("程序運行時間是 %-5.5ss" % clock())
蒙特卡洛方法提供了一個利用計算機中隨機數和隨機試驗爬虱,來解決現實中無法通過公式求解問題的思路,它廣泛應用在金融工程學腾它、宏觀經濟學跑筝、計算物理學等領域。