我想用 LaTeX 包绘制函数...但我做不到。我在 GeoGebra 中绘制了函数,但它无法在 LaTeX 中运行。请指导。
\begin{document}
\begin{tikzpicture}[line cap=round,line join=round,>=triangle 45,x=1cm,y=1cm]
\begin{axis}[
x=1cm,y=1cm,
axis lines=middle,
ymajorgrids=true,
xmajorgrids=true,
xmin=-9.620000000000001,
xmax=9.620000000000001,
ymin=-8.65,
ymax=4.09,
xtick={-9,-8,...,9},
ytick={-8,-7,...,4},]
\clip(-9.62,-8.65) rectangle (9.62,4.09);
\draw[line width=2pt,smooth,samples=100,domain=-9.620000000000001:9.620000000000001] plot(\x,{(\x)^(2/3)});
\begin{scriptsize}
\draw[color=black] (-8,4) node {$f$};
\end{scriptsize}
\end{axis}
\end{tikzpicture}
\end{document}
答案1
问题在于指数“2/3”被计算为(二进制)十进制扩展,实际上并不等于 2/3。函数“x 2/3 ”在数学上等同于“(x 2 ) (1/3) ”和“(x (1/3) ) 2 ”,但后者在实数的有限精度计算中不起作用,对于负 x 失败。与@schrödingers-cat 在其评论中建议的类似,您必须手动告诉 TiKz 计算“(\x*\x)^(1/3)”。
(请注意,每当您用非整数 y 写入“x^y”时,TiKz 中的计算引擎实际上会评估“e^(y*log(x))”,并且对于负 x 始终会失败。)