• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      蒙特卡洛方法計(jì)算圓周率

      2021-09-24 18:54
      電腦報(bào) 2021年36期
      關(guān)鍵詞:蒙特卡洛圓周率點(diǎn)數(shù)

      圓周率(Pi)是圓的周長與直徑的比值,一般用希臘字母π表示,是數(shù)學(xué)中最基本的常數(shù)之一。π也等于圓形之面積與半徑平方之比,是精確計(jì)算圓周長、圓面積、球體積等幾何形狀的關(guān)鍵值。它是一個無理數(shù),即無限不循環(huán)小數(shù)。在日常生活中,通常都用3.14代表圓周率去進(jìn)行近似計(jì)算。這里我想問大家?guī)讉€問題:圓周率是誰發(fā)明的?從前的人們是怎樣推導(dǎo)出圓周率的呢?今天我們在Python中用一種概率算法“蒙特卡洛方法”來計(jì)算圓周率吧。

      蒙特卡洛是一座位于歐洲摩納哥公國的賭城,這個地名也象征概率。蒙特卡洛方法是由大名鼎鼎的數(shù)學(xué)家馮·諾伊曼在上世紀(jì)40年代參與美國研究原子彈的“曼哈頓計(jì)劃”時提出的。這個方法的原理是通過大量隨機(jī)樣本,去了解一個系統(tǒng),進(jìn)而得到所要計(jì)算的值。

      蒙特卡洛方法在計(jì)算圓周率時設(shè)一個正方形內(nèi)部相切一個圓,這時圓和正方形的面積之比是π/4。在這個正方形內(nèi)部,隨機(jī)產(chǎn)生n個點(diǎn)(這些點(diǎn)服從均勻分布),計(jì)算它們與中心點(diǎn)的距離是否大于圓的半徑,以此判斷是否落在圓的內(nèi)部。統(tǒng)計(jì)圓內(nèi)的點(diǎn)數(shù),與n的比值乘以4,就是π的值。理論上,n越大,計(jì)算的π值越精確。

      首先引入random庫和time庫,調(diào)用random和perf_counter,再編寫一個計(jì)時函數(shù)start用來計(jì)算得出圓周率所需要的時間,然后通過循環(huán)編寫模擬撒點(diǎn)代碼,讓計(jì)算機(jī)每次隨機(jī)生成兩個0到1之間的數(shù)(設(shè)圓的半徑為1),看以這兩個實(shí)數(shù)為橫縱坐標(biāo)的點(diǎn)是否在單位圓內(nèi),因此我們實(shí)際只是計(jì)算了1/4圓,但不影響結(jié)果。通過生成一系列隨機(jī)點(diǎn),統(tǒng)計(jì)單位圓內(nèi)的點(diǎn)數(shù)與總點(diǎn)數(shù),當(dāng)隨機(jī)點(diǎn)獲取越多時,其結(jié)果越接近于圓周率。計(jì)算出結(jié)果后將圓周率和計(jì)算的時間輸出結(jié)果。

      通過比較點(diǎn)到圓心的距離判斷點(diǎn)是否在圓內(nèi),利用計(jì)算機(jī)的運(yùn)算速度,可以很快統(tǒng)計(jì)出多次撒點(diǎn)的結(jié)果,即使我們計(jì)算1000萬次,也只需要8.7秒(具體計(jì)算時間與計(jì)算機(jī)運(yùn)行速度相關(guān))。根據(jù)運(yùn)算結(jié)果來看即使有這么大的數(shù)據(jù)量使用概率算法求出的π精度依然不夠高。

      猜你喜歡
      蒙特卡洛圓周率點(diǎn)數(shù)
      祖沖之計(jì)算圓周率
      說說圓周率
      關(guān)于圓周率,你可能不知道這些
      運(yùn)用蒙特卡洛模擬仿真算法分析機(jī)電系統(tǒng)技術(shù)
      畫點(diǎn)數(shù)
      蒙特卡洛應(yīng)用于知識產(chǎn)權(quán)證券化資產(chǎn)風(fēng)險(xiǎn)量化分析
      破解心靈感應(yīng)
      巧猜骰子
      馬爾科夫鏈蒙特卡洛方法及應(yīng)用
      移牌
      南陵县| 长丰县| 常州市| 抚顺市| 福建省| 获嘉县| 大港区| 巩留县| 徐汇区| 清原| 崇文区| 偏关县| 五寨县| 改则县| 平舆县| 青阳县| 治县。| 城步| 芜湖县| 宝鸡市| 合江县| 北辰区| 临邑县| 湖口县| 大邑县| 南丹县| 南开区| 瓦房店市| 泾阳县| 二连浩特市| 乐清市| 甘孜县| 承德市| 桃源县| 建水县| 松原市| 肥城市| 怀化市| 双峰县| 宜昌市| 郁南县|