概率论上机作业

发布 2020-02-27 11:12:28 阅读 8249

西安交通大学实验报告。

课程名称: 概率论与数理统计实验名称: 蒙特卡洛方法估计积分。

学院理学院实验日期 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万元的概率是多少?设...