日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python——随机法(蒙特卡罗方法)计算圆周率

發布時間:2024/10/5 python 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python——随机法(蒙特卡罗方法)计算圆周率 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

基本概念

蒙特卡羅方法:蒙特卡羅方法于20世紀40年代美國在第二次世界大戰中研制原子彈的“曼哈頓計劃”計劃的成員S.M.烏拉姆和J.馮·諾伊曼首先提出。數學家馮·諾伊曼用馳名世界的賭城—摩納哥的Monte Carlo—來命名這種方法,為它蒙上了一層神秘色彩。在這之前,蒙特卡羅方法就已經存在。1777年,法國數學家布豐(Georges Louis Leclere de Buffon,1707—1788)提出用投針實驗的方法求圓周率π。這被認為是蒙特卡羅方法的起源。

算法思想

?當所求解問題是某種隨機事件出現的概率,或者是某個隨機變量的期望值時,通過某種"實驗"的方法,以這種事件出現的頻率估計這一隨機事件的概率,或者得到這個隨機變量的某些數字特征,并將其作為問題的解。

問題分析?

通過多次撒點,模擬概率,求面積,而是否在圓內,可以通過到圓心的距離求解,利用計算機的運算速度,可以很快求出圓周率。

撒點次數越多,圓周率就越準確。?

源代碼?

#CalPI.py from random import random from math import sqrt from time import process_time DARTS=1000 hits=0.0 process_time() for i in range(1,DARTS+1):x,y=random(),random()dist=sqrt(x**2+y**2)if(dist<=1.0):hits=hits+1 pi=4*(hits/DARTS) print("PI值是{}.".format(pi)) print("運行時間是:{:.5f}s".format(process_time()))

10e6次

10e7次?

10e8次

10e9次?

10e10次

?實在跑不了,Python太慢了

參考文章

https://baike.so.com/doc/5989374-6202341.html

https://blog.csdn.net/q1694222672/article/details/81985391

總結

以上是生活随笔為你收集整理的Python——随机法(蒙特卡罗方法)计算圆周率的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。