为什么以下两个 MWE 代码使用带有和不带有 gnuplot 的 pgfplots 会产生不同的结果(相移)?
\documentclass{article}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}
\addplot [thick,mark=none,domain=0:6,samples=1000] {cos(deg(2*x+atan(1)))};
\end{axis}
\end{tikzpicture}
\end{document}
和
\documentclass{article}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}
\addplot [thick,mark=none,domain=0:6,samples=1000] gnuplot {cos(2*x+atan(1))};
\end{axis}
\end{tikzpicture}
\end{document}
答案1
PGFmath 函数atan
(以及所有其他三角函数)使用度数的角度(作为输入或输出)。
此deg
函数用于将弧度角转换为度数。在 PGFmath 中,此函数的正确编写方式为
cos(deg(2 * x) + atan(1))
或者
cos(2 * deg(x) + atan(1)) = cos(2 * deg x + atan 1) = cos(2 * deg x + 45)
代码
\documentclass{article}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[thick,domain=0:6, samples=1000]
\addplot [ultra thick] gnuplot {cos( 2*x + atan(1) )};
\addplot [red] {cos(deg(2*x + atan(1)))};
\addplot [green] {cos(deg(2*x) + atan(1) )};
\end{axis}
\end{tikzpicture}
\end{document}