西安交通大学实验报告。
课程名称: 概率论与数理统计实验名称: 蒙特卡洛方法估计积分。
学院理学院实验日期 2014 年 12 月 14日。
班级: 应化31 姓名: 张迟学号: 2130904023
一.实验内容。
1.用蒙特卡洛方法估计积分 ,和的值,并将估计值与真值进行比较。
2.用蒙特卡洛方法估计积分和的值,并对误差进行估计。
2.实验要求。
(1)针对要估计的积分选择适当的概率分布设计蒙特卡洛方法;
2)利用计算机产生所选分布的随机数以估计积分值;
3)进行重复试验,通过计算样本均值以评价估计的无偏性;通过计算均方误差(针对第1类题)或样本方差(针对第2类题)以评价估计结果的精度。
三.实验目的。
(1)能通过 matlab 或其他数学软件了解随机变量的概率密度、分布函数及其期望、方差、协方差等;
2) 熟练使用 matlab 对样本进行基本统计,从而获取数据的基本信息;
3) 能用 matlab 熟练进行样本的一元回归分析。
四.实验过程。
1.用蒙特卡洛方法估计积分 ,和的值,并将估计值与真值进行比较。 (注:“/表示注释)
1)用蒙特卡洛方法估计积分
源**:s=0;m=0;f=0;r=0;n=100;
h(1:20)=0;
for j=1:20
for i=1:n
a=unifrnd(0,pi/2,n,1生成[0,]的连续均匀分布随机数组。
x=sort(a);
y=pi/2*mean(x.*sin(x));辅助函数
s=s+y;
endb=s./n;
fprintf('b=%.4f',b);
h(j)=b;
s=0;m=m+b;
endp=m./20 //积分估计值。
z=1 //积分真值。
for j=1:20
r=(h(j)-z).^2; f=f+r;
endf=f./19; /均方误差。
fprintf('f=%.6f',f)
运行结果:实验求得积分估计值为0.9983,真实值为1,均方误差为0.000085,因此估计值较为准确。
2)用蒙特卡洛方法估计积分。
源**: s=0;m=0;f=0;r=0;n=100;
h(1:20)=0;
for j=1:20
for i=1:n
a=normrnd(0,1,1,n); 生成(0,1)标准正态分布的随机数组。
x=sort(a);
y=(sqrt(2.*pi).*exp(-x(i).^2./2));辅助函数。
s=s+y;
endb=(s./n)./2;
fprintf('b=%.4f',b);
h(j)=b;
s=0;m=m+b;
endp=m./20 //积分估计值。
z=sqrt(pi)./2 //积分真值。
for j=1:20
r=(h(j)-z).^2;
f=f+r;
endf=f./19; /均方误差。
fprintf('f=%.6f',f)
运行结果:实验求得积分估计值为0.8869,真实值为0.8862,均方误差为0.000057,因此估计值非常准确。
3)用蒙特卡洛方法估计积分。
源**:m=10000;sum=0;n=50,d=0;
x=unifrnd(-1,1,n,m); 生成[-1,1]的连续均匀分布的随机数组。
y=unifrnd(-1,1,n,m); 生成[-1,1]的连续均匀分布的随机数组。
for i=1:n
a=0;for j=1:m
if(x(i,j)^2+y(i,j)^2<=1)
h(i,j)=4*exp(x(i,j)^2+y(i,j)^2); 辅助函数。
a=a+h(i,j);
endend
s(i)=a/m;sum=sum+s(i);
endi=sum/n //积分估计值。
for i=1:n
d=d+(s(i)*4-pi*(exp(1)-1))^2;
endd=d/49 //均方误差。
运行结果:实验求得积分估计值为5.3950,真实值为5.3981,均方误差为0.0014,因此估计值较为准确。
2.用蒙特卡洛方法估计积分和的值,并对误差进行估计。
1)用蒙特卡洛方法估计积分
源**:s=0;m=0;f=0;r=0;n=100;
h(1:20)=0;
for j=1:20
for i=1:n
a=unifrnd(0,1,n,1); 生成[0,1]的连续均匀分布的随机数组。
x=sort(a);
y=exp(x(i).^2辅助函数。
s=s+y;
endb=s./n;
fprintf('b=%.4f',b);
h(j)=b;
s=0;m=m+b;
endp=m./20 //估计值的均值(作为积分的近似值)
for j=1:20
r=(h(j)-p).^2; f=f+r;
endf=f./19; /均方误差。
fprintf('f=%.6f',f)
运行结果:实验求得积分估计值为1.4636,均方误差为0.000060,因此估计值较为准确。
2)用蒙特卡洛方法估计积分
源**:m=100,n=1000,s=0,i=0,sum=0;
x=unifrnd(-1,1,m,n); 生成[-1,1]的连续均匀分布的随机数组。
y=unifrnd(-1,1,m,n); 生成[-1,1]的连续均匀分布的随机数组。
for i=1:m
s=0;for j=1:n
if(x(i,j)^2+y(i,j)^2<=1)
s=s+4/sqrt(1+x(i,j)^4+y(i,j)^4); 辅助函数。
endend
s(i)=s/n;sum=sum+s(i);
endi=sum/m; /估计值的均值(作为积分的近似值)
d=0;d=0;
for i=1:m
d=d+(i-s(i))^2;
endd=d/(m-1) /均方误差。
运行结果:实验求得积分估计值为2.8498,均方误差为0.0018,因此估计值较为准确。
五.实验总结。
用蒙特卡洛方法估计形如积分,需选取一个合适的的分布,且使,此时令,原积分化为。
因此的均值可以作为积分的估计值,计算二重积分时只需将换为即可,思路与的计算相同。
收获:通过这次上机实验,我基本掌握了用蒙特卡洛方法估计积分的理论、方法和用matlab编写实现它的程序,进一步加深了我对期望、概率密度和期望与积分关系等的理解,不足之处是不能很熟练地运用matlab解决一些较复杂的数学和实际问题。
概率论上机作业
学部。班级。学号。姓名。概率论与数理统计 上机题目。1.假设车辆牌号的后两位数都是00 99中的某一个,任取m辆车 编制程序求出这m辆车中至少有两辆车后两位数相同的概率,画出m 10,11,60时,的散点图。2.某人写了封信,又写了个信封,然后将这封信随机地装入这个信封中,用表示至少有一封信装对的概...
概率论上机
概率论实验报告。班级 医电21 学号 2121201019 姓名 闫创。实验目的 通过使用matlab,实现数学概论问题的求解,达到精确计算,减小计算量。实验问题 1.设 1 当时,求,2 当时,若,求 3 分别绘制,时的概率密度函数图形。p1 normcdf 2.9,1.5,0.5 normcdf...
概率论上机实验报告
假如某保险公司有10000个同阶层的人参加人寿保险,每人每年付1200元保险费,在一年内投保人的死亡概率为0.006,死亡时保险公司需赔付10万元。试问 1 保险公司一年的总赔偿金在590万元至610万元间的概率是多少?2 保险公司亏本的概率有多大?3 保险公司每年利润大于400万元的概率是多少?设...