Abstract: calculate Pi using Monte Carlo methods
The result:
3.14159265359
Permutation 1000: pi=3.18
Permutation 1000000: pi=3.143564
Permutation 100000000: pi=3.14153228
The script:
# -*- coding: utf-8 -*-
"""
Created on Wed Aug 12 09:43:50 2015
@author: yuan
"""
# calculate Pi using the Monte Carlo method
import random
import math
#Monte Carlo
def Monte_Carlo(permuation):
in_points=0
for i in range(permutation):
x=random.random()
y=random.random()
#print math.sqrt(x*x+y*y)
if math.sqrt(x*x+y*y)<1:
in_points +=1
pi=float(in_points)/permutation
return pi*4
if __name__=="__main__":
#The math model:
print math.pi
#Monte Carlo method
permutation=1000
print 'Permutation %s: pi=%s' % (permutation, Monte_Carlo(permutation))
permutation=1000000
print 'Permutation %s: pi=%s' % (permutation, Monte_Carlo(permutation))
permutation=100000000
print 'Permutation %s: pi=%s' % (permutation, Monte_Carlo(permutation))
No comments:
Post a Comment