蒙特卡洛(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