蒙特卡洛法求圆周率(python)
生活随笔
收集整理的這篇文章主要介紹了
蒙特卡洛法求圆周率(python)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
大一學(xué)生第一次寫博客,大家多多支持
這個(gè)方法感覺和高中學(xué)的概率是一樣的,通過概率的辦法來對(duì)pi(圓周率)進(jìn)行計(jì)算。
具體思路就是,隨機(jī)(使用random)生成坐標(biāo),將所有在正方形里的點(diǎn)的個(gè)數(shù)統(tǒng)計(jì),再將圓圈里面的個(gè)數(shù)記下來。將在圓圈里面的點(diǎn)(theSample)除以正方形里的點(diǎn)(theSum)*4(這里的4可以理解為面積)
用隨機(jī)數(shù)打點(diǎn),(x,y)。
# 隨機(jī)生成x,yx = y = random.random()記錄打在正方形上的點(diǎn)。
if x<1 and y<1:theSum += 1記錄打在圓上的點(diǎn)
#算半徑r =math.sqrt( x**2 + y**2)if r < 1:theSample += 1最后計(jì)算
pi = theSample/theSum*4總之,這個(gè)問題還是挺簡(jiǎn)單的。
源代碼
import random import maththeSum = theSample = 0 for i in range(0,100000):# 隨機(jī)生成x,yx = y = random.random()#算半徑r =math.sqrt( x**2 + y**2)if x<1 and y<1:theSum += 1if r < 1:theSample += 1# π的值為:4*(落在圓內(nèi)的點(diǎn)/總的點(diǎn)) pi = theSample/theSum*4 print(pi)總結(jié)
以上是生活随笔為你收集整理的蒙特卡洛法求圆周率(python)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 机器视觉光源概述(选型参考)
- 下一篇: Python字符串编码检测