蒙特卡罗方法介绍(一)

蒙特卡罗方法介绍(一)

一、蒙特卡罗方法的基本思想和解题步骤

1.1 蒙特卡罗方法的基本思想

蒙特卡罗方法也称随机模拟法、随机抽样技术或统计实验发,其基本思想是:为了求解数学、物理、工程技术或生产管理等方面的问题。首先,建立一个与求解有关的概率模型或随机过程,使他的参数等于所求问题的解;然后通过对模型或过程的观察或者抽样试验来计算所求参数的统计特征;最后给出所求解的近似值。

概率统计是蒙特卡罗方法的理论基础,其基本手段是随机抽样或者随机变量抽样,对于那些难以进行的或者条件不满足的试验而言,是一种极好的替代方法。

1.2 蒙特卡罗的解题步骤

蒙特卡罗方法可以解决随机性问题和确定性问题,基本步骤如下:

  1. 建立一个与求解有关的概率模型,使求解为所构建模型的概率分布或数学期望
  2. 对模型进行随机抽样观察,即产生随机变量
  3. 用算法平均数作为所求解的近似平均值,给出所求解的统计估计值的方差或标准差,即解的精度。

二、蒙特卡罗求解 π \pi π

2.1原理

有一个圆心为 ( 0 , 0 ) (0,0) (0,0),半径为 r r r的圆。
在这里插入图片描述
圆的面积和正方形面积之比如下:
π r 2 ( 2 r ) 2 = π 4 \frac {\pi r^2}{(2r)^2}=\frac{\pi}{4} (2r)2πr2=4π
我们对正方形随机投点,圆的面积和正方形面积之比可以近似为圆内的点数比上所有的点数。
在这里插入图片描述
记所有点数为 n n n,圆内点数为 c c c:
c n = π 4 ⟹ π = 4 c n \frac{c}{n}=\frac{\pi}{4} \Longrightarrow \pi=\frac{4c}{n} nc=4ππ=n4c
随着 n n n的增大, π \pi π值会越来越接近真实值

2.2实现

采用java实现

	public static float getPi(){
		float result = 0;
		float r = 1;
		long n = 100000000;
		long count = 0;
		
		for (int i = 0; i<n; i++) {
			float x = (float) (Math.random()*2 -1);
			float y = (float) (Math.random()*2 -1);
			if (x*x + y*y < r*r) {
				count ++;
			}
		}
		
		result = (float) 4*count/n;
		return result;
	}

结果为:
在这里插入图片描述

参考文献

  1. 蒙特卡罗方法的基本思想与解题步骤
  2. 蒙特卡洛方法的理解、推导和应用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值