概率论实验报告——蒙特卡洛方法估计积分值姓名:学号:班级:实验内容:用蒙特卡洛方法估计积分值1用蒙特卡洛方法估计积分20sinxxdx,2-0xedx和22221xyxyedxdy的值,并将估计值与真值进行比较。2用蒙特卡洛方法估计积分210xedx和2244111xydxdyxy的值,并对误差进行估计。要求:(1)针对要估计的积分选择适当的概率分布设计蒙特卡洛方法;(2)利用计算机产生所选分布的随机数以估计积分值;(3)进行重复试验,通过计算样本均值以评价估计的无偏性;通过计算均方误差(针对第1类题)或样本方差(针对第2类题)以评价估计结果的精度。目的:(1)能通过MATLAB或其他数学软件了解随机变量的概率密度、分布函数及其期望、方差、协方差等;(2)熟练使用MATLAB对样本进行基本统计,从而获取数据的基本信息;(3)能用MATLAB熟练进行样本的一元回归分析。实验一、估计20sinxxdx的值,并将估计值与真值进行比较。MATLAB代码:s=0;m=0;f=0;r=0;n=50;h(1:10)=0;forj=1:10fori=1:na=unifrnd(0,pi/2,n,1);x=sort(a);y=pi/2*mean(x.*sin(x));s=s+y;endb=s./n;fprintf('b=%.4f\n',b);h(j)=b;s=0;m=m+b;endp=m./10z=1forj=1:10r=(h(j)-z).^2;f=f+r;endf=f./10;fprintf('f=%.6f\n',f)运行结果:b=1.0026b=1.0061b=1.0037b=1.0135b=0.9932b=0.9988b=1.0213b=1.0310b=0.9813b=1.0041p=1.0056z=1f=0.000207(运行截图)结果显示f=0.000207,表明估计结果与理论值非常接近。实验二、估计2-0xedx的值,并将估计值与真值进行比较。I=dxex02=1/2*pidxepiexx*2***2/1*2/2/22)(xfx2/2**2/1xepig(x)=epix*2*2/2)(xfx为标准正态分布的概率密度.分别取10个估计值h(j),求得估计值的均值p,对照积分的真实值求得估计均方误差f。MATLAB代码:s=0;m=0;f=0;n=50;r=0;h(1:10)=0;forj=1:10fori=1:na=normrnd(0,1,1,n);x=sort(a);z=(sqrt(2.*pi)).*exp(-x(i).^2./2);s=s+z;endb=(s./n)./2;fprintf('b=%.4f\n',b);h(j)=b;s=0;m=m+b;endp=m./10z=sqrt(pi)./2forj=1:10r=(h(j)-z).^2;f=f+r;endf=f./10;fprintf('f=%.6f\n',f)运行结果:b=0.8779b=0.8650b=0.8826b=0.8551b=0.8855b=0.8823b=0.8771b=0.8641b=0.9186b=0.8740p=0.8782z=0.8862f=0.000329(运行截图)结果显示估计结果与真实值的方差为f=0.00329,估计结果与真实值非常接近。实验三、估计22221xyxyedxdy的值,并将估计值与真值进行比较。MATLAB代码:m=10000;sum=0;n=50;D=0;X=unifrnd(-1,1,n,m);Y=unifrnd(-1,1,n,m);fori=1:na=0;forj=1:mif(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);endendS(i)=a/m;sum=sum+S(i);endI=sum/n*4fori=1:nD=D+(S(i)*4-pi*(exp(1)-1))^2;endd=D/n运行结果:I=5.4006d=0.0012I=5.4069d=9.5383e-004(运行截图)实验四、估计210xedx的值,并对误差进行估计。此积分采用的是均匀分布。g(x)=2xe,)(xfx=1.x0.分别取10个估计值h(j),求得估计值的均值p,对照积分的真实值求得估计均方误差f。MATLAB代码:s=0;m=0;f=0;r=0;n=50;h(1:10)=0;forj=1:10fori=1:na=unifrnd(0,1,n,1);x=sort(a);y=exp(x(i).^2);s=s+y;endb=s./n;fprintf('b=%.4f\n',b);h(j)=b;s=0;m=m+b;endp=m./10forj=1:10r=(h(j)-p).^2;f=f+r;endf=f./9;fprintf('f=%.6f\n',f)运行结果:clearb=1.4546b=1.4723b=1.4540b=1.4584b=1.4663b=1.4341b=1.4695b=1.4314b=1.4605b=1.4938p=1.4595f=0.000331(运行截图)结果显示,误差为0.000331,以平均值作为真实值,均方误差也比较小。实验五、估计2244111xydxdyxy的值,并对误差进行估计。MATLAB代码:n=1000;m=100;sum=0;S=0;I=0;x=unifrnd(-2,2,m,n);y=unifrnd(-2,2,m,n);forj=1:ms=0;fori=1:nifx(j,i)^2+y(j,i)^2=4s=s+16/sqrt(1+x(j,i)^4+y(j,i)^2);endendS(j)=s/n;sum=sum+S(j);endI=sum/m;D=0;d=0;forj=1:mD=D+(I-S(j))^2;endd=D/(m-1)I运行结果:d=0.0284I=7.4566(运行截图)