Computing PI using Monte Carlo method
2012-11-19 15:14
453 查看
import math import random class Point(): def __init__(self, x = 0, y = 0): self.x = x self.y = y def set_rand_range(self, rand_start, rand_end): self.rand_start = rand_start self.rand_end = rand_end def get_random(self): r = random.uniform(self.rand_start, self.rand_end) return r def set_x(self): self.x = self.get_random() def get_x(self): return self.x def set_y(self): self.y = self.get_random() def get_y(self): return self.y def get_randpoint(): p = Point() p.set_rand_range(0, 1) p.set_x() p.set_y() return p.get_x(), p.get_y() def compute_pi(n): x, y = 0, 0 count = 0 for i in range(n): x, y = get_randpoint() if math.sqrt(x * x + y * y) <= 1: count += 1 pi = 4.0 * count / n print pi def main(): L = [100, 1000, 10000, 100000, 1000000] for i in range(len(L)): compute_pi(L[i]) if __name__ == '__main__': main() print math.pi
相关文章推荐
- java算法3_蒙特卡洛方法(Monte Carlo method)求PI和椭圆面积
- 蒙特卡洛方法 (Monte Carlo Method)
- Monte Carlo method(WKi)
- Monte Carlo method——现代工程支柱
- 蒙特卡罗方法(Monte Carlo method)浅入
- 蒙特卡罗方法(Monte Carlo method)
- Markov Chain - Monte Carlo method and Gibbs Sampling for Latent Dirichlet Allocation
- (转)Monte Carlo method 蒙特卡洛方法
- Monte Carlo method
- 蒙特·卡罗方法(Monte Carlo method)
- Monte Carlo method
- Monte Carlo Method
- Monte Carlo Method for simulation
- 蒙特卡罗方法(Monte Carlo method)
- 蒙特卡洛方法(Monte Carlo Method)
- 蒙特卡罗方法 Monte Carlo method
- 关于cannot call this method while recyclerview is computing a layout or scrollin
- method to solve 404 error when using NSURL to add suffix
- 强化学习(四) ----- 蒙特卡罗方法(Monte Carlo Methods)
- Breaking parallel loops in .NET C# using the Stop method z