求教mathematica大神想把z=Sqrt[16-x^2-y^2]与z=x^2+y^2-16作在同一坐标系内Clea

求教mathematica大神
想把z=Sqrt[16-x^2-y^2]与z=x^2+y^2-16作在同一坐标系内
Clear[x, y, z, t, r, a, b]
x[r_, t_] := r Cos[t]
y[r_, t_] := r Sin[t]
z1[r_, t_] := Sqrt[16 - r^2]
z2[r_, t_] := r^2 - 16
Solve[z1[r, t] == z2[r, t], r]
r0 = r /. %[[2, 1]] (*这句什么意思,不懂,在书上看的*)
ParametricPlot3D[{ x[r, t], y[r, t], z1[r, t]}, {t, 0, 2 Pi}, {r, 0, r0}]
ParametricPlot3D[{ x[r, t], y[r, t], z2[r, t]}, {t, 0, 2 Pi}, {r, 0, r0}]
Show[%, %%]
洛娅 1年前 已收到1个回答 举报

tenny09 幼苗

共回答了18个问题采纳率:83.3% 举报

你到底是要问啥呢?如果你的问题是你注解里的那句话,那么,“/.”是个指令,名为ReplaceAll,Solve产生的是一个Rule(也就是由箭头“->”连接的东西)吧,这个和ReplaceAll连用,可以将前面式子里的相应量替换,在这里就是把前面的r,换成你用Solve解出来的那个东西,Solve的解是个二维列表,与合理的r相应的那个替换规则是第二个:r->4,也就是把它赋给r0了啊.
如果你是问,为什么你最后得到的图不是你想要的图的话,在Show语句里加个 PlotRange->All 吧.

1年前

5
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 16 q. 0.023 s. - webmaster@yulucn.com