文档介绍:matlab蒙特卡洛法估计积分值西安交通大学实验报告课程:概率论与数理统计实验日期:报告日期:专业班级:姓名:学号:实验内容:用蒙特卡洛方法估计积分值要求:(1)针对要估计的积分选择适当的概率分布设计蒙特卡洛方法;(2)利用计算机产生所选分布的随机数以估计积分值;(3)进行重复试验,通过计算样本均值以评价估计的无偏性;通过计算均方误差(针)或样本方差(针对第2类题)以评价估计结果的精度。对第1类题目的:(1)能通过MATLAB或其他数学软件了解随机变量的概率密度、分布函数及其期望、方差、协方差等;(2)熟练使用MATLAB对样本进行基本统计,从而获取数据的基本信息;(3)能用MATLAB熟练进行样本的一元回归分析。,,,2222xyx,edxdyxxdxsinedx,,,,1用蒙特卡洛方法估计积分,和22xy1,,00的值,并将估计值与真值进行比较。,2xsinxdx1),0pif(x)仍是用均匀分布来估计此积分的大小,g(x)=xsinx,=1/().x>(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,pi/2,n,1);x=sort(a);y=pi/2*mean(x.*sin(x));s=s+y;1endb=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)结果显示f=,表明估计结果与理论值非常接近。,,2x,edx2),0,,2,,22,x,x/2,x/2edxe*1/2*pi*edx*2*piI==1/2*,,0,,2,x/22,x/2f(x),1/2*pi*eg(x)=e*2*pixf(x)(j),求得估计值的均值p,对照积分x的真实值求得估计均方误差f。2Matlab程序代码如下: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)结果如下:结果显示估计结果与真实值的方差为f=,估计结果与真实值非常接近。22xy,edxdy,,3)22xy1,,m=10000;sum=0;n=50;D=0;3X=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);en