我使用 Geogebra 绘制了函数 $y = 2x^2 - 4x$ 的图形。这是我的代码
\documentclass[10pt]{article}
\usepackage{pstricks-add}
\pagestyle{empty}
\begin{document}
\psset{xunit=1.0cm,yunit=1.0cm,algebraic=true,dotstyle=o,dotsize=3pt 0,linewidth=0.8pt,arrowsize=3pt 2,arrowinset=0.25}
\begin{pspicture*}(-2,-2.44)(3.92,5)
\psaxes[labelFontSize=\scriptstyle,xAxis=true,yAxis=true,Dx=1,Dy=1,ticksize=-2pt 0,subticks=2]{->}(0,0)(-2,-2.44)(3.92,5)[,140] [y,-40]
\psplot[linewidth=1.6pt,plotpoints=200]{-2.0}{3.9165217391304363}{2*x²-4*x}
\psline[linewidth=1.6pt,linestyle=dashed,dash=3pt 3pt](1,-2)(1,0)
\psline[linewidth=1.6pt,linestyle=dashed,dash=2pt 2pt](1,-2)(0,-2)
\begin{scriptsize}
\psdots[dotstyle=*,linecolor=blue](1,-2)
\rput[bl](1.02,-1.93){\blue{$A$}}
\psdots[dotstyle=*,linecolor=blue](1,0)
\rput[bl](1.02,0.08){\blue{$B$}}
\psdots[dotstyle=*,linecolor=blue](0,-2)
\rput[bl](0.02,-1.93){\blue{$C$}}
\end{scriptsize}
\end{pspicture*}
\end{document}
我使用 Texmaker 和编译器,按键为 F2 -> F4 ->F8 ->F7。但我得到了
我怎样才能获得正确的图片?
答案1
该功能不正确:
\psplot[linewidth=1.6pt,plotpoints=200]{-2.0}{3.9165217391304363}{2*x^2-4*x}
你有{2*x²-4*x}
。指数必须写成x^2
但是 GeoGebra 的导出功能不太好用。使用:
\documentclass[10pt]{article}
\usepackage{pstricks-add}
\pagestyle{empty}
\begin{document}
\psset{algebraic,linewidth=0.8pt,arrowsize=3pt 2,arrowinset=0.25}
\begin{pspicture*}(-2,-2.44)(3.92,5)
\psaxes[labelFontSize=\scriptstyle,ticksize=-2pt 0,subticks=2]{->}(0,0)(-2,-2.44)(3.92,5)[,140] [y,-40]
\psplot[linewidth=1.6pt,plotpoints=200]{-2.0}{3.9165217391304363}{2*x^2-4*x}
\psCoordinates[linecolor=blue,linestyle=dashed](1,-2)
\psdots[dotstyle=*,linecolor=blue](1,0)(0,-2)
\scriptsize
\rput[bl](1.02,-1.93){\blue{$A$}}
\rput[bl](1.02,0.08){\blue{$B$}}
\rput[bl](0.02,-1.93){\blue{$C$}}
\end{pspicture*}
\end{document}
答案2
为最佳实践者推荐的解决方案。
\documentclass[pstricks,border=12pt,12pt]{standalone}
\usepackage{pst-plot}
\usepackage{pst-eucl}
\psset
{
algebraic,
arrowsize=3pt 2,
arrowinset=0.25,
plotpoints=200,
saveNodeCoors,
}
\def\func(#1){2*(#1)^2-4*(#1)}
\begin{document}
\begin{pspicture}(-2,-2.5)(4,5)
\psplot[linecolor=red,yMaxValue=4]{-2.0}{4}{\func(x)}
\psaxes[labelFontSize=\scriptstyle,ticksize=-4pt 0,subticks=2,linecolor=lightgray]{->}(0,0)(-2,-2.5)(3.5,4.5)[$x$,0][$y$,90]
\everypsbox{\scriptsize\color{blue}}
\pstGeonode[linecolor=blue,PosAngle={90,-90,-135}](1,0){B}(*N-B.x {\func(x)}){A}(0,|A){C}
\psline[linestyle=dashed,linecolor=blue](B)(A)(C)
\end{pspicture}
\end{document}
编辑
我只是通过反复试验才知道(x,y|P)
可以简化为(x,|P)
。而它的对偶 (P|x,y)
可以简化为(P|,y)
。我不知道这是一个有用的错误还是一个设计功能。
请注意,yMaxValue
显然取决于plotpoints
。悲观的方法是使用较大的值plotpoints
(例如 5000)来获得更好的分辨率,但文件大小会变得更大。:-)