专业: 核工程与核技术实验一蒙特卡罗方法一、 实验目的1、 了解蒙特卡罗方法方法的基本思想;2、 掌握蒙特卡罗方法计算面积、体积的方法;3、 掌握由已知分布的随机抽样方法二、 实验原理Monte Carlo方法,又称统计模拟方法或计算机随机模拟方法,是一种基于“随机数”进行数值模拟的方 法,一种采用统计抽样理论近似求解物理或数学问题的方法倘若待求量可以表述成某些特征量的期望值、 某些事件岀现的概率或两者的函数形式, 那么可采用蒙特卡罗方法求解在求解某些特征量的期望值或某些事件出现的概率时, 必须构建合符实际的数学模型例如采用蒙特卡罗方法计算某函数所围面积时,构建的数学模型是构造一已知面积的可均匀抽样区域,在该区域投点, 由伯努利定理大数定理可知,进入待求区域投点的频率依概率 1收敛于该事件出现的概率(面积之比)由已知分布的随机抽样方法指的是由已知分布的总体中抽取简单子样具体方法很多,详见课本第三章三、 实验内容1、 安装所需计算工具(MATLAB 等);以下内容采用工具软件中自带伪随机数发生器进行计算2、 求解以下区域的面积、体积:2.1、 给定曲线y =2 -x2和曲线y3 = x2,曲线的交点为:Pi( -1,1 )、P2( 1,1 )。
曲线围成平面有限区域, 用蒙特卡罗方法计算区域面积;!z 畠 Jx2 + y22.2、 计算 所围体积z 兰 1 + J1 _x2 _ y2其中门={( x, y, z) | -1乞x乞1, 一1乞y乞1,0乞z乞2}3、 对以下已知分布进行随机抽样:三、实验报告编写1、给岀各题的抽样程序并解释语句的含义;2、给岀2.1和2.2抽样结果误差随抽样次数的关系图,并解释原因;表1 实验记录表3、给出3题的抽样框图、试验累积频率与理论累积频率关系图,并给出抽样次数( >106)与抽样时间2.1程序代码编写如下:N=10八6;%总投点个数S=0; %记录投点在所围图形中的个数SS=0;for i=1:Nx=2*rand-1;%产生的随机变量 x,yy=2*rand; ;%产生x和y的坐标if((yv=2-x八2)&(y八3>=x八2))% 判定是否落入所围图像中S=S+1; %进入则加iSS=SS+1A2;endendArea=4*S/N %计算面积Dev=SS/N-(S/NF2% 计算方差A=sqrt(Dev/N)%计算标准差toc实验数据如下:请输入总投点个数:15000021.81.61.41.210.80.60.40.20 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 12.2实验代码如下:clear;clc;M=0;N= 5*10八4 ;tic;for i=1:Nx=2*ra nd()-1;y=2*ra nd()-1;z=2*ra nd();t=xA2+yA2;s=zA2;if s>=tif t<=-s+2*zM=M+1;endendendtocMIANJI=M/N*8clear M N i x y;计算结果:N=50000时面积为3.1350,计算时间约0.282s实验数据如下:2.3程序代码编写如下:clear;clc;M = input('输入所需产生随机变量的个数:\n');x = zeros(M,1);tic;for i=1:Mif(ran d()<=0.5)x(i) = max(ra nd(),ra nd())x(i) = max(x(i),ra nd());x(i) = max(x(i),ra nd());elsex(i) = min(ran d(),ra nd());x(i) = mi n(x(i),ra nd());endendplot(x,'g.')toeclear M;六、实验心得通过本次实验后,让我发现这门课非常有趣,并没有想 象的那么枯燥无味,是一门很有实用价值的一门学科。
同时让我学习到MATLAB的基本操作和用法。