绘图中可以使用哪些数学函数?

绘图中可以使用哪些数学函数?

下面的代码显示,当为偶数时,函数 x n的图形不正确(除非输入为而不是)。所以我很好奇可以使用哪些数学公式来确保它是正确的?n\x*\x\x^2plot

另外,我在尝试使用括号时遇到错误:\draw plot (\x,\x*(1-\x));Package tikz Error: Giving up on this path. Did you forget a semicolon?数学括号的语法是什么,或者它根本不允许用于plot函数的参数?

手册pgfmanual v3.1.10第 344 页给出了函数 sin(\x) 和 0.05*exp(\x) 的示例。是否有一个对 latex 函数有效的数学函数的完整列表?例如,是否可以使用(即不使用或)在区间上plot绘制函数?(x+1/3)^(1/x)[1,4]plotpgfplotsgnuplot

\documentclass[tikz]{standalone}
\begin{document}
\begin{tikzpicture}[domain=-1:1]
\draw plot (\x,\x*\x);
\draw[red, dashed] plot (\x,\x^2);
\draw[blue] plot (\x,\x*\x*\x*\x);
\draw[green, dashed] plot (\x,\x^4);
\end{tikzpicture}
\end{document}

编辑。阅读 pgfmanual (第 1034 页) 后,我意识到使用pow(\x,2)代替更安全\x^2(尤其是对于某些复杂的函数)。我的意思是它可能比 更安全(\x)^2

答案1

回答第一个问题:pgfmath 引擎理解的函数列表列在第94.3 数学表达式的语法:函数pgfmanual。


至于您对 的问题\x^2:TikZ 似乎首先扩展\x然后解析^2。例如,使用\x=-3TikZ 会看到-3^2,而数学解析器通常将其理解为-(3^2)。其他编程语言通常直接对 的值进行平方x,而不先将其扩展为-3,因此这就是造成混淆的原因。

编辑:有一个相关的错误报告显示除法有类似的行为

您可以通过在 周围添加括号来解决这个问题\x,但是随后您需要在Y坐标部分周围添加括号:\draw[red, dashed] plot (\x,{(\x)^2});

图片显示 4 条曲线

\documentclass[tikz]{standalone}
\begin{document}
\begin{tikzpicture}[domain=-1:1]
\draw plot (\x,\x*\x);
\draw[red, dashed] plot (\x,{(\x)^2});
\draw[blue] plot (\x,\x*\x*\x*\x);
\draw[green, dashed] plot (\x,{(\x)^4});
\end{tikzpicture}
\end{document}

相关内容