蒙特卡洛求圆周率

简介: 蒙特卡洛求圆周率

1问题

用Python格式蒙特卡洛方法计算圆周率。


2方法

解决问题的步骤采用如下方式:

’import random’和’perf_counter’函数

使用循环和条件语句求出落在圆内的个数

得出结论

通过实验、实践证明提出的方法是有效的,能够解决开头提出的问题。

代码清单 1

from random import random
from time import perf_counter
DARTS = 10000 * 10000 # 撒点总个数
hits = 0.0
start = perf_counter()
for i in range(1, DARTS + 1):
   x, y = random(), random()
   dist = pow(x ** 2 + y ** 2, 0.5)
   if dist < 1:
       hits += 1 # 落在圆内的个数
pi = 4 * (hits / DARTS)
print("圆周率的值是:{}".format(pi))
print("运行时间:{:.5f}s".format(perf_counter() - start))


3结语

对计算圆周率问题,用蒙特卡洛的方式,以Python格式计算出该方法是有效的。

目录
相关文章
数学知识-三角函数公式大全(值得收藏)
数学知识-三角函数公式大全(值得收藏)
203 1
|
5月前
高等数学II-知识点(3)——广义积分、定积分几何应用、定积分求曲线弧长、常微分方程、可分离变量的微分方程、一阶微分方程-齐次方程、一阶线性微分方程
高等数学II-知识点(3)——广义积分、定积分几何应用、定积分求曲线弧长、常微分方程、可分离变量的微分方程、一阶微分方程-齐次方程、一阶线性微分方程
46 0
|
机器学习/深度学习 算法
专题六数值微积分与方程求解-2
专题六数值微积分与方程求解
99 0
|
6月前
|
机器学习/深度学习 算法
蒙特卡洛模拟求圆周率
蒙特卡洛模拟求圆周率
70 0
|
算法 Serverless
专题六数值微积分与方程求解-1
专题六数值微积分与方程求解
113 0
数学|如何求解线性方程系数?
数学|如何求解线性方程系数?
168 0
(公式)用欧拉公式推导三角函数恒等式
(公式)用欧拉公式推导三角函数恒等式
240 0
(公式)用欧拉公式推导三角函数恒等式
|
数据可视化 Python
八种方法求π的近似值
八种方法求π的近似值
1104 0
八种方法求π的近似值
|
C++
【C/C++】用格雷戈里公式求π
输入精度e,使用格雷戈里公式(π/4​=1-1/3+1/5+...)求π的近似值,精确到最后一项的绝对值小于e。要求定义和调用函数funpi(e)求π的近似值。
460 0
【C/C++】用格雷戈里公式求π