蒙特卡洛(Monte Carlo)方法求面积


如图,刷微博时,看到一个问题,第一个想到的就是用蒙特卡洛方法求解,当时正在练python,于是尝试用python编写程序。

 

 1 import random
 2 # 先求s1
 3 k=0
 4 n=100000000
 5 for i in range(n):
 6     x=random.uniform(0,10)
 7     y=random.uniform(0,10)
 8     if ((x-5)**2+(y-5)**2>25) and (y<-2*x+20):
 9         k=k+1
10     else: k=k
11 
12 s1=(k/n)*100
13 
14 #求s2
15 import math
16 s2=(10*10-math.pi*25)/4
17 
18 s=s1+s2
19 print("k=",k)
20 print("s2=",s2)
21 print("s1=",s1)
22 print("s=",s)       

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM