实验二-蒙特卡罗方法计算三维体积
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数学与应用数学系201 3 ~201 4 学年第二学期实验报告
(*1冰淇淋锥的体积*)
t1=ParametricPlot3D[{r*Cos[t],r*Sin[t],r^2},{t,0,2Pi},{r,0,1},DisplayFunction Identity];
t2=ParametricPlot3D[{Cos[u]*Sin[v],Sin[u]*Sin[v],1+Cos[v]},{u,0,2Pi},{v,0,Pi/ 2},DisplayFunction Identity];
Show[t1,t2,DisplayFunction$DisplayFunction]
1
0.5
-0.5
-1
2
1.5
1
0.5
-1
-0.5
0.5
1
Graphics3D
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}]; R1=x^2+y^2;
R2=Sqrt[R1];
If[z R2&& (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
{,,,,,,,,,}
(*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]
(*2体积*)
s1=ParametricPlot3D[{r*Sin[u],r*Cos[u],r},{u,0,2Pi},{r,0,1},DisplayFunction Identity];
t1=ParametricPlot3D[{r*Sin[u],r*Cos[u],1},{u,0,2Pi},{r,0,1},DisplayFunction Identity];
Show[s1,t1,DisplayFunction $DisplayFunction]
1-1-0.500.5
10
0.25
0.5
0.75
1
-1
-0.5
0.5
Graphics3D
(*2体积*)
n=1000;
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&& z R2 && u R1+z^2,m++],{k,1,n}];
AppendTo[p,N[8m/n]],{t,1,10}];
Print[p];
Sum[p[[t]],{t,1,10}]/10
{,,,,,,,,,}
(*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}];
N[s]
(*3体积*)
s=Plot[x-2,{x,1,4},DisplayFunction Identity];
t=Plot[Sqrt[x],{x,1,4},DisplayFunction Identity];
Show[s,t,DisplayFunction$DisplayFunction]
2
1.5
1
0.5
1.52
2.53
3.54
-0.5
-1
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[x y^2&& x y+2 &&z x*y^2,m++],{k,1,n}];
AppendTo[p,N[192*m/n]],{t,1,10}];
Print[p];
Sum[p[[t]],{t,1,10}]/10
{,,,,,,,,,}
(*3体积*)
s=Integrate[x*y^2,{x,1,4},{y,x-2,Sqrt[x]}];
N[s]