蒙特卡洛实验报告.docx

上传人:b****1 文档编号:14406739 上传时间:2023-06-23 格式:DOCX 页数:7 大小:37.90KB
下载 相关 举报
蒙特卡洛实验报告.docx_第1页
第1页 / 共7页
蒙特卡洛实验报告.docx_第2页
第2页 / 共7页
蒙特卡洛实验报告.docx_第3页
第3页 / 共7页
蒙特卡洛实验报告.docx_第4页
第4页 / 共7页
蒙特卡洛实验报告.docx_第5页
第5页 / 共7页
蒙特卡洛实验报告.docx_第6页
第6页 / 共7页
蒙特卡洛实验报告.docx_第7页
第7页 / 共7页
亲,该文档总共7页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

蒙特卡洛实验报告.docx

《蒙特卡洛实验报告.docx》由会员分享,可在线阅读,更多相关《蒙特卡洛实验报告.docx(7页珍藏版)》请在冰点文库上搜索。

蒙特卡洛实验报告.docx

蒙特卡洛实验报告

ThismodelpaperwasrevisedbytheStandardizationOfficeonDecember10,2020

 

蒙特卡洛实验报告

专业:

核工程与核技术

实验一蒙特卡罗方法

一、实验目的

1、了解蒙特卡罗方法方法的基本思想;

2、掌握蒙特卡罗方法计算面积、体积的方法;

3、掌握由已知分布的随机抽样方法。

二、实验原理

MonteCarlo方法,又称统计模拟方法或计算机随机模拟方法,是一种基于“随机数”进行数值模拟的方法,一种采用统计抽样理论近似求解物理或数学问题的方法。

倘若待求量可以表述成某些特征量的期望值、某些事件出现的概率或两者的函数形式,那么可采用蒙特卡罗方法求解。

在求解某些特征量的期望值或某些事件出现的概率时,必须构建合符实际的数学模型。

例如采用蒙特卡罗方法计算某函数所围面积时,构建的数学模型是构造一已知面积的可均匀抽样区域,在该区域投点,由伯努利定理大数定理可知,进入待求区域投点的频率依概率1收敛于该事件出现的概率(面积之比)。

由已知分布的随机抽样方法指的是由已知分布的总体中抽取简单子样。

具体方法很多,详见课本第三章。

三、实验内容

1、安装所需计算工具(MATLAB等);

以下内容采用工具软件中自带伪随机数发生器进行计算。

2、求解以下区域的面积、体积:

、给定曲线y=2–x2和曲线y3=x2,曲线的交点为:

P1(–1,1)、P2(1,1)。

曲线围成平面有限区域,用蒙特卡罗方法计算区域面积;

、计算

所围体积

其中

3、对以下已知分布进行随机抽样:

三、实验报告编写

1、给出各题的抽样程序并解释语句的含义;

2、给出和抽样结果误差随抽样次数的关系图,并解释原因;

表1实验记录表

序号

1

2

3

4

5

6

7

试验次数

103

1×104

5×104

×105

×105

×106

×107

试验时间

计算结果

实验误差

3、给出3题的抽样框图、试验累积频率与理论累积频率关系图,并给出抽样次数(>106)与抽样时间。

程序代码编写如下:

N=10^6;%总投点个数

S=0;%记录投点在所围图形中的个数

SS=0;

fori=1:

N

x=2*rand-1;%产生的随机变量x,y

y=2*rand;;%产生x和y的坐标

if((y<=2-x^2)&(y^3>=x^2))%判定是否落入所围图像中

S=S+1;%进入则加1

SS=SS+1^2;

end

end

Area=4*S/N%计算面积

Dev=SS/N-(S/N)^2%计算方差

A=sqrt(Dev/N)%计算标准差

toc

实验数据如下:

序号

1

2

3

4

5

6

7

试验次数

103

1×104

5×104

×105

×105

×106

×107

试验时间

s

s

s

s

s

s

s

计算结果

实验误差

请输入总投点个数:

150000

实验代码如下:

clear;

clc;

M=0;

N=5*10^4;

tic;

fori=1:

N

x=2*rand()-1;

y=2*rand()-1;

z=2*rand();

t=x^2+y^2;

s=z^2;

ifs>=t

ift<=-s+2*z

M=M+1;

end

end

end

toc

MIANJI=M/N*8

clearMNixy;

计算结果:

N=50000时面积为,计算时间约。

实验数据如下:

序号

1

2

3

4

5

6

7

试验次数

103

5×104

5×104

×105

×105

×106

×107

试验时间

计算结果

实验误差

程序代码编写如下:

clear;

clc;

M=input('输入所需产生随机变量的个数:

\n');

x=zeros(M,1);

tic;

fori=1:

M

if(rand()<=

x(i)=max(rand(),rand())

x(i)=max(x(i),rand());

x(i)=max(x(i),rand());

else

x(i)=min(rand(),rand());

x(i)=min(x(i),rand());

end

end

plot(x,'g.')

toc

clearM;

六、实验心得

通过本次实验后,让我发现这门课非常有趣,并没有想象的那么枯燥无味,是一门很有实用价值的一门学科。

同时让我学习到MATLAB的基本操作和用法。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2