资源描述:
《MATLAB蒙特卡罗方法.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验五:蒙特卡罗方法实验面积、体积计算问题冰淇淋锥的体积计算思考题与练习题蒙特卡罗方法——随机投点试验求近似解引例.给定曲线y=2–x2和曲线y3=x2,曲线的交点为:P1(–1,1)、P2(1,1)。曲线围成平面有限区域,用蒙特卡罗方法计算区域面积。P=rand(10000,2);x=2*P(:,1)-1;y=2*P(:,2);II=find(y<=2-x.^2&y.^3>=x.^2);M=length(II);S=4*M/10000plot(x(II),y(II),'g.')S=2.1136例5.14计算其中D为y=x–2
2、与y2=x所围D的边界曲线交点为:(–1,1),(4,2),被积函数在求积区域内的最大值为16。积分值是三维体积,该三维图形位于立方体区域0≤x≤4,–1≤y≤2,0≤z≤16内,立方体区域的体积为192。data=rand(10000,3);x=4*data(:,1);y=-1+3*data(:,2);z=16*data(:,3);II=find(x>=y.^2&x<=y+2&z<=x.*(y.^2));M=length(II);V=192*M/10000例5.15用蒙特卡罗方法计算其中,积分区域是由和z=1所围成。被积函数在求积
3、区域上的最大值为2。所以有四维超立方体–1≤x≤1,–1≤y≤1,0≤z≤1,0≤u≤2P=rand(10000,4);x=-1+2*P(:,1);y=-1+2*P(:,2);z=P(:,3);u=2*P(:,4);II=find(z>sqrt(x.^2+y.^2)&z<=1&u<=x.^2+y.^2+z.^2);M=length(II);V=8*M/10000实验:蒙特卡罗方法计算体积&x=2*rand-1产生–1到1之间的随机数y=2*rand-1产生–1到1之间的随机数z=2*rand;产生0到2之间的随机数冰淇淋锥含于体积=
4、8的六面体22由于rand产生0到1之间的随机数,所以N个点均匀分布于六面体中,锥体中占有m个,则锥体与六面体体积之比近似为m:Nfunction[q,error]=MonteC(L)ifnargin==0,L=7;endN=10000;fork=1:LP=rand(N,3);x=2*P(:,1)-1;y=2*P(:,2)-1;z=2*P(:,3);R2=x.^2+y.^2;R=sqrt(R2);II=find(z>=R&z<=1+sqrt(1-R2));m=length(II);q(k)=8*m/N;enderror=q-pi;实
5、验参考程序蒙特卡罗方法计算体积半球体积圆锥体积实验任务一:记录L次实验的实验数据及误差实验任务二:修改实验程序MonteC计算L次实验数据均值及均值误差(mean计算平均值)序号1234567数据误差L8163264128256均值误差functionicecream(m,n)ifnargin==0,m=20;n=100;endt=linspace(0,2*pi,n);r=linspace(0,1,m);x=r'*cos(t);y=r'*sin(t);z1=sqrt(x.^2+y.^2);z2=1+sqrt(1+eps-x.^2-y
6、.^2);X=[x;x];Y=[y;y];Z=[z1;z2];mesh(X,Y,Z)view(0,-18)colormap([001]),axisoff冰淇淋锥体积冰淇淋锥图形绘制程序思考题与练习题5.说明L次蒙特卡罗实验平均值计算冰淇淋锥的体积误差与实验次数之间关系1.蒙特卡罗方法计算面积和计算体积方法有何差异?2.说明蒙特卡罗方法计算冰淇淋锥的体积误差与哪些因素有关。3.概率论中的贝努里大数定律在本次实验中体现如何4.叙述概率论中著名独立同分布大数定律,并以这一大数定律解释实验的数据变换规律。5.下面程序绘出二维图形填充图(右图
7、)。分析每条语句功能,给程序中语句写注记x1=-1:0.1:1;y1=x1.^2.^(1/3);x2=1:-0.1:-1;y2=2-x2.^2;fill([x1,x2],[y1,y2],'g')axisoff