下面的代码显示,当为偶数时,函数 x n的图形不正确(除非输入为而不是)。所以我很好奇可以使用哪些数学公式来确保它是正确的?n
\x*\x
\x^2
plot
另外,我在尝试使用括号时遇到错误:\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]
plot
pgfplots
gnuplot
\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=-3
TikZ 会看到-3^2
,而数学解析器通常将其理解为-(3^2)
。其他编程语言通常直接对 的值进行平方x
,而不先将其扩展为-3
,因此这就是造成混淆的原因。
编辑:有一个相关的错误报告显示除法有类似的行为。
您可以通过在 周围添加括号来解决这个问题\x
,但是随后您需要在Y
坐标部分周围添加括号:\draw[red, dashed] plot (\x,{(\x)^2});
\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}