我目前正在阅读 Mathematica 编程指南,并试图编写这本书的第一个程序。基本上,当我运行以下程序时:
Plot3D[{Re[Exp[1/(x + I y)]]}, {x, -0.02, 0.022}, {y, -0.04, 0.042},
PlotRange -> {-1, 8}, PlotPoints -> 120, Mesh -> False,
ColorFunction -> Function[{x1, x2, x3}, Hue[Arg[Exp[1/(x1 + I x2)]]]]]
要么我得到 1/0 错误和 e^\infinity 错误,或者,如果我降低PlotPoints
选项,例如 60,溢出错误。虽然我有一个工作输出,但它不是它应该的样子。色调似乎从左角扩散,而它应该从原点扩散(如原始图像中所示))
这是显然在 Mathematica 5 上运行的原始程序(Trott,Mathematica 编程指南):
Off[Plot3D::gval];
Plot3D[{Re[Exp[1/(x + I y)]], Hue[Arg[Exp[1/(x + I y)]]]},
{x, -0.02, 0.022}, {y, -0.04, 0.042},
PlotRange -> {-1, 8}, PlotPoints -> 120, Mesh -> False]
Off[Plot3D::gval];
然而,ColorFunction
使用这种方式(首先Plot3D
参数)不起作用,所以我尝试简单地适应它的新使用方式。
嗯,谢谢我猜!