使用蒙特卡罗方法求圆周率π的设计实现及结果分析

您所在的位置:网站首页 绝对的圆和圆周率 使用蒙特卡罗方法求圆周率π的设计实现及结果分析

使用蒙特卡罗方法求圆周率π的设计实现及结果分析

2024-07-13 04:46:55| 来源: 网络整理| 查看: 265

文章目录 前言问题描述基本思路算法描述代码实现结果分析参考文献附录附1:源代码附2:实验数据

前言

蒙特·卡罗方法(Monte Carlo method),也称统计模拟方法,是二十世纪四十年代中期由于科学技术的发展和电子计算机的发明,而被提出的一种以概率统计理论为指导的一类非常重要的数值计算方法。是指使用随机数(或更常见的伪随机数)来解决很多计算问题的方法。与它对应的是确定性算法。蒙特·卡罗方法在金融工程学,宏观经济学,计算物理学(如粒子输运计算、量子热力学计算、空气动力学计算)等领域应用广泛[1]。

问题描述

使用蒙特·卡罗方法求圆周率。

基本思路

如下图所示,随机生成大量的点都在矩形区域内,然后会有部分点落在圆内,两者的比值基本等于面积比值。以此为关系,建立公式求出PI的值。 在这里插入图片描述

算法描述

给定集合两个点的集合S1和S2如下所示。 S 1 = { ( x , y ) ∣ x ∈ [ − 1 , 1 ] , y ∈ [ − 1 , 1 ] } S 2 = { ( x , y ) ∣ x 2 + y 2 ≤ 1 } S1 = \{(x,y) | x∈[-1,1], y ∈ [-1, 1] \}\\ S2 = \{(x,y) | x^2 + y^2 ≤ 1\} S1={(x,y)∣x∈[−1,1],y∈[−1,1]}S2={(x,y)∣x2+y2≤1} 其中,S1表示下图中矩形内的所有点,S2表示下图所示圆内的所有点。

利用蒙特·卡罗方法,随机生成 M个落在S1内的点,设这些点中落在S2中的点有N个。由于随机生成的点是平均分布在区域内的,所以矩形面积与圆形面积的比值可以近似表示为 N/M(当M趋于无穷大时可以取等号)。所以可得 π r 2 / ( 2 r ) 2 = S 1 / S 2 ≈ N / M \pi r^2/(2r)^2 = S1/S2 \approx N/M πr2/(2r)2=S1/S2≈N/M 利用最左右两式化简后可得 π = 4 N / M \pi = 4N/M π=4N/M

代码实现

整个代码编写使用Java实现,代码附在文章尾。

结果分析

原始整理的数据参见附录2。对结果进行统计分析数据如下

测试1M10M100M1000M10000M平均值3.1417941818183.1415242545453.1415517781823.1415715432733.141580096378与PI绝对误差2.0153E-046.8399E-054.0875E-052.1110E-051.2557E-05方差1.2234E-033.9009E-041.5801E-044.8368E-053.5344E-05

根据以上结果我们可以看到:

根据与PI的绝对误差,测试次数的增加会提高计算的精度。增加测试次数,结果的方差也越来越小,结果趋于稳定。 参考文献

[1] 蒙特·卡罗方法, 百度百科, https://baike.baidu.com/item/蒙特·卡罗方法.

附录 附1:源代码 public class Test{ public static void main(String[] args) { int[] mts = { 1, 10, 100, 1000, 10000 }; for (int test = 0; test long t1 = System.currentTimeMillis(); double pi = calPI(mts[test]); long t2 = System.currentTimeMillis(); System.out.printf("%d\t%.12f\t%d\n", mts[test], pi, t2 - t1); } } } static double calPI(int mtimes) { long totalTimes = mtimes * 1000 * 1000; long count = 0; for (int i = 0; i


【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭