尝试绘制复值函数时输出空白

尝试绘制复值函数时输出空白

我想策划

在此处输入图片描述

输出如下:

在此处输入图片描述

但是我的代码如下

\documentclass[border=10pt,pstricks]{standalone}
\usepackage{pst-plot,pst-func}
\begin{document}
    \begin{pspicture}(-10,-10)(10,10)
    \def\e{2.71828182846}
    \psplotImp[linecolor=red,algebraic](-3,-3)(3,3){%
        (\e)^(8*x*y*(x^2-y^2)) + 1/((\e)^(8*x*y*(x^2-y^2))) + 2*cos(2*(x^4)+2*(y^4)-12*(x^2)*(y^2))-4}
    \end{pspicture}
\end{document}

生成一张空白页。

问题

  • 一、如何修复空白页?

  • PSTricks 可以abs(cos((x+iy)^4))-1直接绘图吗?

  • 对于现有的答案,输出在原点附近略有不同。如何解决这个问题?

答案1

您必须控制指数,PostScript 只知道浮点运算的单精度。例如,e^100 是不可能的。在 PostScript 级别上检查更容易,这就是我不使用代数选项的原因。

\documentclass[border=10pt,pstricks]{standalone}
\usepackage{pst-plot,pst-func}
\begin{document}
\begin{pspicture*}(-2.9,-2.9)(2.9,2.9)
    \psplotImp[linecolor=red,stepFactor=0.1](-3,-3)(3,3){%
        /x2 x dup mul def /x4 x2 dup mul def 
        /y2 y dup mul def /y4 y2 dup mul def 
        /xy x y mul def
        8 xy mul x2 y2 sub mul dup abs 70 lt % abs(exponent) < 70? 
          { Euler exch exp }  % yes, then build the bower
          { 0 gt { 1e30 }{ 1e-30 } ifelse } ifelse
        dup 1 exch div
        2 x4 mul 2 y4 mul add 
           12 x2 mul y2 mul sub RadtoDeg cos 2 mul 4 sub
        add add }
\end{pspicture*}
\end{document}

在此处输入图片描述

答案2

PSTricks 中没有不连续性。

\documentclass[border=10pt,pstricks]{standalone}
\usepackage{pst-plot,pst-func}
\begin{document}
    \begin{pspicture}(-2,-2)(2,2)
    \psplotImp[linecolor=red,algebraic,stepFactor=0.1](-2,-2)(2,2){%
        Euler^(8*x*y*(x^2-y^2)) + 1/(Euler^(8*x*y*(x^2-y^2))) + 2*cos(2*(x^4)+2*(y^4)-12*(x^2)*(y^2))-4}
    \end{pspicture}
\end{document}

在此处输入图片描述

相关内容