当前位置:
文档之家› 实验二-蒙特卡罗方法计算三维体积
实验二-蒙特卡罗方法计算三维体积
Graphics
n=10000;(*3体积*)
p=Complex{};
Do[m=0;
Do[x=4*Random[Real,{0,1}];y=3*Random[Real,{0,1}]-1;z=16*Random[Real,{0,1}];
If[xy^2&& xy+2 &&zx*y^2,m++],{k,1,n}];
t1=ParametricPlot3D[{r*Cos[t],r*Sin[t],r^2},{t,0,2Pi},{r,0,1},DisplayFunctionIdentity];
t2=ParametricPlot3D[{Cos[u]*Sin[v],Sin[u]*Sin[v],1+Cos[v]},{u,0,2Pi},{v,0,Pi/2},DisplayFunctionIdentity];
数学与应用数学系2013~2014学年第二学期实验报告
班级: 学号: 姓名: 实验时间: 2014年 月 日
实验
项目
实验二 蒙特卡罗方法计算三维体积
所属
课程
数学实验
实
验
目
的
了解蒙特卡罗方法的原理,掌握随机数使用技术。
实
验
内
容
用两种不同的方法(蒙特卡罗法和重积分方法)计算下列三维体积和重积分,并比较计算分析结果。
AppendTo[p,N[8m/n]],{t,1,10}];
ቤተ መጻሕፍቲ ባይዱPrint[p];
Sum[p[[t]],{t,1,10}]/10
{0.864,0.824,1.072,0.96,0.992,0.896,1.12,1.048,0.928,0.904}
0.9608
(*2体积*)
s=Integrate[x^2+y^2+z^2,{y,-1,1},{x,-Sqrt[1-y^2],Sqrt[1-y^2]},{z,Sqrt[x^2+y^2],1}];
R1=x^2+y^2;
R2=Sqrt[R1];
If[zR2&& (z-1)^21-R1,m++],{k,1,n}];
AppendTo[p,N[8m/n]],{t,1,10}];
Print[p];
Sum[p[[t]],{t,1,10}]/10
{3.352,3.216,3.232,3.4,3.176,3.336,2.936,3.504,3.232,3.184}
N[s]
0.942478
(*3体积*)
s=Plot[x-2,{x,1,4},DisplayFunctionIdentity];
t=Plot[Sqrt[x],{x,1,4},DisplayFunctionIdentity];
Show[s,t,DisplayFunction$DisplayFunction]
p=Complex{};
Do[m=0;
Do[x=2*Random[Real,{0,1}]-1;y=2*Random[Real,{0,1}]-1;z=Random[Real,{0,1}];
u=2*Random[Real,{0,1}];
R1=x^2+y^2;
R2=Sqrt[R1];
If[z1&& zR2 && uR1+z^2,m++],{k,1,n}];
3.2568
(*1冰淇淋锥的体积*)
x=r*Sin[u]*Cos[v];
y=r*Sin[u]*Sin[v];
z=r*Cos[u]+1;
s=Integrate[r^2*Sin[u],{v,0,2Pi},{u,0,Pi/4},{r,0,2Cos[u]}];
N[s]
3.14159
(*2体积*)
s1=ParametricPlot3D[{r*Sin[u],r*Cos[u],r},{u,0,2Pi},{r,0,1},DisplayFunctionIdentity];
1、画出由锥面 上方与球面 内部区域围成的图形(简称冰淇淋锥),并计算也该冰淇淋锥的体积
2、画出积分区域并计算 ,其中积分区域是由 和 所围成。
3、画出积分区域并计算 ,其中D为y=x –2与y2=x所围,D的边界曲线交点为:(1,-1),(4,2)。
实
验
结
果
︵
不
够
可
另
附
纸
︶
(*1冰淇淋锥的体积*)
N[s]
7.39524
实
验
总
结
教师
评语
AppendTo[p,N[192*m/n]],{t,1,10}];
Print[p];
Sum[p[[t]],{t,1,10}]/10
{7.584,7.7568,7.7184,7.6416,7.2,7.5072,8.16,7.4304,7.296,7.3536}
7.5648
(*3体积*)
s=Integrate[x*y^2,{x,1,4},{y,x-2,Sqrt[x]}];
t1=ParametricPlot3D[{r*Sin[u],r*Cos[u],1},{u,0,2Pi},{r,0,1},DisplayFunctionIdentity];
Show[s1,t1,DisplayFunction$DisplayFunction]
Graphics3D
(*2体积*)
n=1000;
Show[t1,t2,DisplayFunction$DisplayFunction]
Graphics3D
(*1冰淇淋锥的体积*)
n=1000;
p=Complex{};
Do[m=0;
Do[x=2*Random[Real,{0,1}]-1;y=2*Random[Real,{0,1}]-1;z=2*Random[Real,{0,1}];