概率论实验报告蒙特卡洛方法估计积分值
- 格式:docx
- 大小:64.33 KB
- 文档页数:6
概率论实验报告
——蒙特卡洛方法估计积分值
姓名:
学号:
班级:
实验内容:用蒙特卡洛方法估计积分值
1用蒙特卡洛方法估计积分 20sin x xdx π
⎰,2-0x e dx +∞⎰和
22221x y x y e dxdy ++≤⎰⎰的值,并将估
计值与真值进行比较。
2用蒙特卡洛方法估计积分 21
0x e dx ⎰
和
22x y +≤⎰⎰的值,
并对误差进行估计。
要求:(1)针对要估计的积分选择适当的概率分布设计蒙特卡洛方法;
(2)利用计算机产生所选分布的随机数以估计积分值;
(3)进行重复试验,通过计算样本均值以评价估计的无偏性;通过计算均方误差(针对第1类题)或样本方差(针对第2类题)以评价估计结果的精度。 目的:(1)能通过 MATLAB 或其他数学软件了解随机变量的概率密度、分布函数及其期望、方差、协方差等;
(2) 熟练使用 MATLAB 对样本进行基本统计,从而获取数据的基本信息;
(3) 能用 MATLAB 熟练进行样本的一元回归分析。
实验一、估计2
sin x xdx π
⎰的值,并将估计值与真值进行比较。
MATLAB 代码:
s=0;m=0;f=0;r=0;n=50;
h(1:10)=0;
for j=1:10
for i=1:n
a=unifrnd(0,pi/2,n,1);
x=sort(a); y=pi/2*mean(x.*sin(x)); s=s+y;
end
b=s./n;
fprintf('b=%.4f\n',b);
h(j)=b;
s=0;
m=m+b;
end
p=m./10
z=1
for j=1:10
r=(h(j)-z).^2; f=f+r;
end
f=f./10;
fprintf('f=%.6f\n',f)
运行结果:
b=1.0026
b=1.0061
b=1.0037
b=1.0135
b=0.9932
b=0.9988
b=1.0213
b=1.0310
b=0.9813
b=1.0041
p =
1.0056
z =
1
f=0.000207
>> (运行截图)
结果显示f=0.000207,表明估计结果与理论值非常接近。
实验二、估计
2
-0x e dx +∞
⎰的值,并将估计值与真值进行比较。 I=dx e x ⎰+∞-02=1/2*pi dx e pi e x x *2***2/1*2/2/22-+∞∞--⎰ =)(x f x 2/2**2/1x e pi - g(x)=e pi x *2*2/2-
)(x f x 为标准正态分布的概率密度.分别取10个估计值h(j),求得估计值的均值p ,对照积分的真实值求得估计均方误差f 。
MATLAB代码:
s=0;m=0;f=0;n=50;r=0;
h(1:10)=0;
for j=1:10
for i=1:n
a=normrnd(0,1,1,n);
x=sort(a); z=(sqrt(2.*pi)).*exp(-x(i).^2./2); s=s+z; end
b=(s./n)./2; fprintf('b=%.4f\n',b);
h(j)=b; s=0; m=m+b;
end
p=m./10
z=sqrt(pi)./2
for j=1:10
r=(h(j)-z).^2;
f=f+r;
end
f=f./10;
fprintf('f=%.6f\n',f)
运行结果:
b=0.8779
b=0.8650
b=0.8826
b=0.8551
b=0.8855
b=0.8823
b=0.8771
b=0.8641
b=0.9186
b=0.8740
p =
0.8782
z =
0.8862
f=0.000329
>> (运行截图)结果显示估计结果与真实值的方差为f=0.00329,估计结果与真实值非常接近。
实验三、估计
2222
1x y x y e dxdy ++≤⎰⎰的值,并将估计值与真值进行比较。
MATLAB 代码:
m=10000;sum=0;n=50;D=0;
X=unifrnd(-1,1,n,m);Y=unifrnd(-1,1,n,m);
for i=1:n
a=0;
for j=1:m
if(X(i,j)^2+Y(i,j)^2<=1)
Z(i,j)=exp(X(i,j)^2+Y(i,j)^2);
a=a+Z(i,j);
end
end
S(i)=a/m;sum=sum+S(i);
end
I=sum/n*4
for i=1:n
D=D+(S(i)*4-pi*(exp(1)-1))^2;
end
d=D/n
运行结果:
I =
5.4006
d =
0.0012
I =
5.4069
d =
9.5383e-004
>> (运行截图)
实验四、估计2
1
0x e dx ⎰的值,并对误差进行估计。
此积分采用的是均匀分布。g(x)=2
x e ,)(x f x =1.x>0.分别取10个估计值h(j),求得估计值的均值p ,对照积分的真实值求得估计均方误差f 。