3.8π的计算

一、π的计算

①圆周率π是一个无理数,没有任何一个精确公式能够计算π值,π的计算只能采用近似算法。

②国际公认的π值计算采用蒙特卡洛方法。

③蒙特卡洛(Monte Carlo)方法,又称随机抽样或统计试验方法。当所求解的问题是某种事件出现的概率,或某随机变量的期望值时,可以通过某种“试验”的方法求解。

④简单说,蒙特卡洛是利用随机试验求解问题的方法。

二、π计算问题的IPO

输入:抛点的数量

处理:对于每个抛洒点,计算点到圆心的距离,通过距离判断该点在圆内或是圆外。统计在圆内点的数量。

输出:π值

# 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())

蒙特卡洛方法提供了一个利用计算机中随机数和随机试验,来解决现实中无法通过公式求解问题的思路,它广泛应用在金融工程学、宏观经济学、计算物理学等领域。

你可能感兴趣的:(3.8π的计算)