文档介绍:海南大学
《数理统计》课程设计
题目:基于蒙特卡洛思想的定积分数值解法
班级:信息与计算科学
姓名:体贴的瑾色
学号:
指导教师:
日期:
目录
基于蒙特卡洛方法的定积分数值解法3
摘要3
Abstr对(2)进行改良后的新的第二步是:
(2)记c=max(f(x)),d=mm(f(x)),记录满足0Wy<f(x)出现的次数k1,和满
kko一
足f(x)WyM0的次数k2,<0,则
n
S=(c—d)*(b-a),或者dA0则S=c*(b—a)或者cc0,则S=—d*(b—a).最后得
至Uj=knk*s.
n
金12
譬如计算J=J」e/,2ndx,其精确值由matlab函数integral给出(下同),取n=10,,
运行100次后得到的结果为
口用机超与法
—巧用辟
。泯
口魄
Q瓯
D吃
DE4E
Dl=4i
100
模拟后得到的值的分析为(误差计算公式为工(模拟值M确值)2,下同):
t曾
方法
平均值
力差
误差精确解
随机投点法
-04
-
当n=1000时的投点图为
1
计算定积分J=If(x)dx,其中f(x)可积.
设随机变量X服从(0,1摩的均匀分布,则Y=f(x)的数学期望为i
E(f(x))=J。f(x)dx=,由辛钦大数定理,可以用f(X)观察值的平均去估计f(X):先用计算机产生n个在(0,1)上均匀分布
的随机数x,i=1,2,...n,,然后对每个x计算f(X),最后得到J的估计值为
nb
J=—Zf((a,b)上定积分J=1f(x)dx的计算,按照上述流程因为ni1a
b11b-an
E(f(x))=--f(x)dxJ,所以Jf(x).
ab-ab-ani1
譬如计算
J2x/2dx
6
取n=10,运行100次后得到的结果为
•835「
精而貂
+攫报也
1m
1p
1口通加4U如E07□的nIUJ
模拟后得到的值的分析为
方法
平均值
力差
误差
精确解
平均值法
-03
-03
本为将通过计算几个例子来比较两种方法的优劣性比如计算
J=ed2x/、Wdx
2
前林方法的比和结果
I1I-
看存价
十平归值去
0
1B3,B
T82
T61
1805
C1口3030如505口m90制HDD
次数
综合的的比较为:
方法
平均值
、、..、.
精确解
随机投点法
-01
-01
平均值法
-02
-02
又比如计算J=yX2-xdx
结果为:
综合比较结果为:
方法平均值
、、..、.
精确解
-01
-01
-02
-
二匚*
1C20前叩国沟703:90
两种方法的匕轴造果
显然在一重定积分的计算上,虽然两种方法平均值都接近于精确解,但是不管是平均值法方差还是误差都较之随机投点法更小,所以平均值法性能更好一此
三、蒙特卡洛计算二重积分
计算二重积分其实和计算一重积分差距并不是很大。在随机投点法中与只需要将生成
的随机数变成三维便,y,z)并把投点区域换成一个正方体即可,比如求区间在
ki-k?
(a,b)*(e,f)上的二重积分,计算公式应该为J一2*S*(f-e)其中k1,k2,n,S与
n
(x,yz)之外,最大的不同在于
计算一般积分区域(a,b)*(e,f)上的积分,计算公式应该变成
j=(b-a)*(f-e)£f(为).另外值得一提的是,因为matlab在最优化上效果并不是十nii
分的出色,所以本文在随机投点法中为了求投点区域,本文采用lingo求函数最大值和最小
值.
譬如求
2
X
-
110
2
1—0
y5dxdy
取n=106,使用两种方法得到的结果为
S2W
£
O70