- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
*/10 ? ? ? 实验五:蒙特卡罗方法实验 面积、体积计算问题 冰淇淋锥的体积计算 思考题与练习题 蒙特卡罗方法——随机投点试验求近似解 引例. 给定曲线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.^2y.^3=x.^2); M=length(II); S=4*M/10000 plot(x(II),y(II),g.) S = 2.1136 例5.14 计算 其中D为y= x – 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.^2x=y+2z=x.*(y.^2)); M=length(II); V=192*M/10000 例5.15 用蒙特卡罗方法计算 其中,积分区域是由 和 z = 1 所围成。 被积函数在求积区域上的最大值为2。所以有四维超立方体 –1≤ x ≤1,–1≤ y ≤1, 0≤ z ≤1,0≤ u ≤2 P=rand(10000,4); x=-1+2*P(:,1); y=-1+2*P(:,2); z=P(:,3);u=2*P(:,4); II=find(zsqrt(x.^2+y.^2)z=1u=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之间的随机数 冰淇淋锥含于体积 = 8 的六面体 2 2 由于rand 产生0 到1之间的随机数,所以 N个点均匀分布于六面体中,锥体中占有m个,则锥体与六面体体积之比近似为 m : N function [q,error]=MonteC(L) if nargin==0,L=7;end N=10000; for k=1:L P=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=Rz=1+sqrt(1-R2)); m=length(II);q(k)=8*m/N; end error=q-pi; 实验参考程序 蒙特卡罗方法计算体积 半球体积 圆锥体积 实验任务一:记录L次实验的实验数据及误差 实验任务二:修改实验程序MonteC计算L次实验数据均值及均值误差( mean 计算平均值 ) 序号 1 2 3 4 5 6 7 数据 误差 L 8 16 32 64 128 256 均值 误差 function icecream(m,n) if nargin==0,m=20;n=100;end t=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.^2); X=[x;x];Y=[y;y]; Z=[z1;z2]; mesh(X,Y,Z) view(0,-18) colormap([0 0 1]),axis off 冰淇淋锥体积 冰淇淋锥图形绘制程序
文档评论(0)