实验23用蒙特卡洛方法求解确定性问题 随机模拟方法应用广泛,可以用来求解各种类型的问题,既可用来求解随机性问题,也可以用来求解确定性问题。在求解的确定性问题中因不包含时间因素,这类问题相应的模拟模型常称为静态模型,求解确定性静态模型的模拟方法习惯上称为蒙特卡洛方法。 实验目的 了解用蒙特卡洛方法求解确定问题的过程,了解随机投点法。 预备知识 均匀分布、定积分 实验内容 1.圆周率的计算 ; 2.计算I10f(x)dx的随机投点法。 【项目1】 圆周率的计算 单位圆的面积为,可以利用随机投点的方法来求这个面积的近似值。具体方法如下: 在直角坐标系oxy的第一向限内作正方形O(0,0)、A(1,0)、B(1,1)、C(0,1),其面积为1。以原点O为圆心的单位圆在正方形内的部分是圆心角为直角的扇形,面积为S4。在此正方形内随机投点{i,i},i1,2,...,其中iU(0,1),iU(0,1)且相互独立。若第i个点{i,i}满足条件 ii1, 22即点{i,i}落入曲边梯形内,则称第i次试验成功。随机投点试验成功的概率p为: pP{1}22Ddxdy4 因此,在随机投点试验的模型下,重复进行随机投点试验,记录试验次数N和成功次数M,用频率M/N作为概率p的估计值,即: MN4MNp4 从而有的近似计算公式:【参考程序】: 。 实验23 用蒙特卡罗方法求解确定性问题 - 119 - 【项目2】 计算I10f(x)dx的随机投点法 设0f(x)1,积分值I就是曲线f(x)下方x0和x1之间的曲边梯形的面积。为了求积分I,首先构造随机投点概型: 向正方形{0x1,0y1}内随机投点{i,i},i1,2,...,其中 iU(0,1),iU(0,1)且相互独立。若第i个点{i,i}满足条件 if(i), 即点{i,i}落入曲边梯形内,则称第i次试验成功。 随机投点试验成功的概率p为: pP{f()}01f(x)0dydx10f(x)dxI 因此,在随机投点试验的模型下,定积分值I就是试验成功的概率p。 重复进行随机投点试验,记录试验次数N和成功次数M,用频率M/N作为概率p的估计值,即可得出定积分值I的近似值: IMN 于是计算Ibaf(x)dx的随机投点算法如下: Step1 赋初值:试验次数n=0,成功次数m=0;规定投点试验的总次数为:N; Step2 产生两个相互独立的均匀随机数,;置n=n+1; Step3 判断nN是否成立,若成立转Step4,否则停止试验,转Step5; Step4 判断条件f()是否成立,若成立置m=m+1,然后转Step2;否则转Step2; Step5 计算ImN。 本文来源:https://www.wddqw.com/doc/38b19d1b13661ed9ad51f01dc281e53a5802519d.html