蒙特卡洛求圆周率

简介: 蒙特卡洛求圆周率

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格式计算出该方法是有效的。

目录
相关文章
|
9月前
数学知识-三角函数公式大全(值得收藏)
数学知识-三角函数公式大全(值得收藏)
|
2月前
R语言蒙特卡洛计算和快速傅立叶变换计算矩生成函数
R语言蒙特卡洛计算和快速傅立叶变换计算矩生成函数
|
8月前
|
机器学习/深度学习 算法
专题六数值微积分与方程求解-2
专题六数值微积分与方程求解
76 0
|
2月前
|
机器学习/深度学习 算法
蒙特卡洛模拟求圆周率
蒙特卡洛模拟求圆周率
48 0
|
8月前
|
算法 Serverless
专题六数值微积分与方程求解-1
专题六数值微积分与方程求解
89 0
数学|如何求解线性方程系数?
数学|如何求解线性方程系数?
120 0
(公式)用欧拉公式推导三角函数恒等式
(公式)用欧拉公式推导三角函数恒等式
122 0
(公式)用欧拉公式推导三角函数恒等式
|
数据可视化 Python
八种方法求π的近似值
八种方法求π的近似值
802 0
八种方法求π的近似值
|
算法 C++
【基础算法】圆周率的多种方法求算 & C++实现
一个圆如下面左图所示,其半径为1,其内部内接一个正六边形。设正六边形的边长为y1。由几何知识可得知y1=1,所以圆的周长可近似为正六边形的周长C=6×y1=6.所以圆周率为前面的近似圆周长与圆直径之比,即C/2= 3≈π,这就是按照割圆法来得到圆周率近似值的方法。
470 0
【基础算法】圆周率的多种方法求算 & C++实现