资源描述:
《数学实验——数据统计与分析》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、数学实验报告实验8数据统计与分析实验8数据统计与分析分1黄浩2011011743一、实验目的1.掌握概率统计的基本概念及用MATLAB实现的方法。2.练习用这些方法解决实际问题。二、实验内容1.《数学实验》第一版(问题5)问题叙述:与例6类似,但炮弹射击的目标为一半径为100m的圆形区域,弹着点以圆心为中心呈二维正态分布,设在密度函数式中σx=80m,σy=50m,相关系数r=0.4,求炮弹命中圆形区域的概率。建立模型与实验过程:若以原点为圆心,则目标区域:Ω:x2+y2≤10000而炮弹落在任意一点(x,y)的概率密度为:px,y=1
2、2πσ1σ21-r2exp-12(1-r2)x2σ12-2rxyσ1σ2+y2σ22其中σ1=80,σ2=50,r=0.4下面,我们使用三种方法,分别实现这个计算过程:(一)蒙特卡洛——均值估计法这道题与书中例题十分相似,但不同在于,由于相关系数r的存在,本题不能以第一象限的四分之一圆来替代整个目标区域,事实上,该概率密度函数在一三象限和二四象限分别对称,但在一四象限或者二三象限却不是对称的。于是我直接将整个圆形作为计算区域,因此,炮弹命中圆形区域的概率:P=Ωpx,ydxdy=SΩ×E(px,y)≈40000nk=1mpxk,yk1
3、0数学实验报告实验8数据统计与分析其中,xk,yk为落在Ω内的点。那么,我们只要在xϵ-100,100,yϵ[-100,100]内随机均匀撒n个点,然后对落在Ω区域内的点进行求和,就能估计出所求的二重积分以及命中概率。所用代码如下:n=1000000;%计算次数sx=80;sy=50;r=0.4;x=unifrnd(-100,100,2,n);%随机撒点k=1/(2*pi*sx*sy*sqrt(1-r^2));z=0;u=0;fori=1:nif(x(1,i)^2+x(2,i)^2)<=10000%落在圆内u=k*exp(-0.5/(1
4、-r^2)*(x(1,i)^2/sx^2-2*r*x(1,i)*x(2,i)/sx/sy+x(2,i)^2/sy^2));z=z+u;endendP=40000/n*z重复五次,结果如下:实验序号12345结果0.6981745480.6973596710.697476410.6974708120.699117329均值为:0.6979,标准差为6.65*10^-4由此可见,炮弹命中圆形区域的概率大约为0.7(二)数值积分法在进行完上一方法的实验后,我觉得还可以用数值积分的方法来计算这个二重积分,然而,在之前的实验中,我们仅涉及到了一维
5、的数值积分,没有给出非矩形的二重积分的matlab实现方法。于是我根据积分的最原始意义,将xϵ-100,100,yϵ[-100,100]这个区域网格化,每个网格为1*1的正方形,如果网格中心点在Ω内,则代入px,y,如此不断计算并求和,最后乘以单个网格面积,即为所求概率。所用代码如下:A=ones(200);%对网格矩阵进行预设z=0;sx=80;sy=50;r=0.4;k=1/(2*pi*sx*sy*sqrt(1-r^2));fori=99.5:(-1):-99.5A((100.5-i),:)=-99.5:1:99.5;%矩阵A的元素
6、为相应网格中心点的坐标10数学实验报告实验8数据统计与分析endfori=1:200forj=1:200if(j-100.5)^2+(100.5-i)^2<=10000%落在圆内z=z+k*exp(-0.5/(1-r^2)*((j-100.5)^2/sx^2-2*r*(j-100.5)*(100.5-i)/sx/sy+(100.5-i)^2/sy^2));endendendz结果为:0.698061539560864,这与之前的蒙特卡洛算法所得结果基本一致。(三)蒙特卡洛——随机投点法在进行完这步实验后,我又想到,还可以直接设一个二元正
7、态分布X,然后使用rnd命令来生成该满足该分布的随机数,最后统计落在Ω区域内的个数,除以随机数的总数量,便是所求的概率。这种方法的思想是,在重复次数足够多的情况下,以频率代替概率,即书中的“随机投点法”。所用代码如下:n=1000000;sx=80;sy=50;r=0.4;sxy=sqrt(r*sx*sy);mu=[0,0];sigma=[sx^2,sxy^2;sxy^2,sy^2];%期望和协方差矩阵X=mvnrnd(mu,sigma,n);m=0;%定义X为该二元正态分布fori=1:nif(X(i,1)^2+X(i,2)^2<=1
8、0000)%落在圆内m=m+1;%统计个数endendp=m/n重复五次,结果为:实验序号12345结果0.6976080.6972670.6978610.6981940.697545均值为:0.6977,