Warum benötigt \psplot höhere Plotpunkte, wenn eine Funktion links von der Asymptote der Funktion geplottet wird?

Warum benötigt \psplot höhere Plotpunkte, wenn eine Funktion links von der Asymptote der Funktion geplottet wird?

Die folgende Animation zeigt das Verhalten intuitiv. \psplotscheint asymmetrisch zu funktionieren. Der rechte Teil kann mit dem Standardwert dargestellt werden plotpoints, aber das ist beim linken Teil nicht der Fall. Wir müssen den Wert erhöhen, plotpointsum den vollständigen Graphen auf der linken Seite zu erhalten.

Bildbeschreibung hier eingeben

\documentclass[pstricks,border=12pt]{standalone}
\usepackage{pst-plot}

\pstVerb{/myDiv {dup 0 eq {pop 0 lt {-1e30} {1e30} ifelse} {div} ifelse} def}

\def\f#1{1 #1 myDiv}
\def\g#1{\f{#1 neg}}


\psset{yMinValue=-4,yMaxValue=4}

\begin{document}
\multido{\i=7+12}{20}{%
\psset{plotpoints=\i}
\begin{pspicture}[showgrid=bottom](-2,-4)(2,4)
\psclip{\psframe[linestyle=none,dimen=middle](-2,-4)(2,4)}
    \psplot[linecolor=red]{-2}{2}{\f{x}}
    \psplot[linecolor=blue]{-2}{2}{\g{x}}
    \rput(0,0){\textcolor{red}{plotpoints: \i}}
\endpsclip
\end{pspicture}}
\end{document}

Warum ist \psplotder Bedarf höher plotpoints, wenn man eine Funktion links von der Asymptote der Funktion zeichnet? Ist das ein Fehler?

Antwort1

für eine gerade Anzahl von Plotpunkten sind die x-Wertenichtsymmetrisch zur y-Achse, der Grund, warum Sie die nicht erlaubte Division durch Null 1/0 nicht erreicht haben, aber nicht den gleichen Abstand der Punkte von der y-Achse haben. Wenn Sie eine ungerade Anzahl von Plotpunkten wählen, z. B. 13, werden symmetrische x-Werte erstellt, aber auch x=0 im Set enthalten. 1/0 kann jedoch durch einen eigenen Divisionsoperator abgefangen werden und plotpoints=6*n+1mit n=1,2,... ergibt sich ein symmetrisches Verhalten für diese Art von Funktion.

\documentclass[pstricks,border=12pt]{standalone}
\usepackage{pst-plot}

\begin{document}
\pstVerb{ % control the division, y x is on the stack
  /myDiv { dup 0 eq { pop 0 lt { -1e30 }
                               {  1e30 } ifelse } 
       { div } ifelse } def
}

\psset{plotpoints=24,plotstyle=dots}
\begin{pspicture}[showgrid=bottom](-2,-5)(4,5)
    \psplot[linecolor=red]{-2}{4}{1 x myDiv}
    \psplot[linecolor=blue]{-2}{4}{-1 x myDiv}
\end{pspicture}

\psset{plotpoints=25,plotstyle=dots}
\begin{pspicture}[showgrid=bottom](-2,-5)(4,5)
    \psplot[linecolor=red]{-2}{4}{1 x myDiv}
    \psplot[linecolor=blue]{-2}{4}{-1 x myDiv}
\end{pspicture}

\psset{plotpoints=241,plotstyle=line,yMaxValue=5}
\begin{pspicture}[showgrid=bottom](-2,-5)(4,5)
    \psplot[linecolor=red]{-2}{4}{1 x myDiv}
    \psplot[linecolor=blue]{-2}{4}{-1 x myDiv}
\end{pspicture}

\end{document}

Bildbeschreibung hier eingeben

verwandte Informationen