![TikZ 中的绘图函数](https://linux22.com/image/313751/TikZ%20%E4%B8%AD%E7%9A%84%E7%BB%98%E5%9B%BE%E5%87%BD%E6%95%B0.png)
我正在尝试绘制以下函数:
其中 x=(x-floor(x))
这是我在 .tex 文件中写的内容:
\draw[color=blue,smooth] plot({\x-floor(\x)},{\frac{\cos(\frac{\pi}{6})}{ \cos(\frac{\pi}{3}\{\frac{3*\x}{\pi}\}-\frac{\pi}{6})}});
但这会返回大量错误,坦白地说我不明白。
它看起来应该像这样(向右弯曲):
答案1
首先,你应该考虑一下函数,它可以大大减少。具体来说,cos(pi/6) = 1;同样,分母为 pi/3 * (3*x/pi),该项简化为 x。
此外,由于你没有尝试排版方程,而是评估方程,这样您就可以省去\frac
和\cos
宏。
我使用\foreach
循环绘制了任意多次的曲线。我还自动绘制了 x 轴上的轴刻度。请注意,通过在其中包含“r”,cos
我已告诉函数将单位视为弧度。
\documentclass{article}
\usepackage{tikz}
\usepackage[active,tightpage]{preview}
\PreviewEnvironment{tikzpicture}
\begin{document}
\begin{tikzpicture}
\draw (0, 1.4cm ) -- (0,0) -- (4cm, 0);
\draw [dotted] (0,1cm) -- (3.5 cm, 1cm);
\draw [dotted] (0,1.155cm) -- (3.5 cm, 1.155cm);
\draw (0, 0.15cm) --++(0,-0.30cm) node [below] {$0^\circ$};
\foreach \y in {0,...,2}{
\draw ({(pi/3) * (\y+1)}, 0.15cm) --++(0,-0.30cm) node [below] {$\number\numexpr(\y + 1)* 60\relax^\circ$};
\begin{scope}
[domain=0:(pi / 3)]
\draw plot({\x + (pi/3) * \y},{ 1 / cos(\x r - (pi r)/6)});
\end{scope}
}
\end{tikzpicture}
\end{document}
运行上述程序将得到以下输出:
答案2
使用 绘制函数pgfplots
(应该与 相同TikZ
)使用的语法与您在 LaTeX 中编写函数时使用的语法不同。请参阅pgfplots 手册。
以下是使用 函数的示例pgfplots
。尚不完善,但您应该能够自己完成它。(顺便说一下,我取消了pi
和。)3
\documentclass{article}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[ymin=0.45, ymax=1.05]
\addplot[blue,domain=0:pi,samples=1000] {cos(deg(pi/6))/cos(deg(x-floor(x)-pi/6))};
\end{axis}
\end{tikzpicture}
\end{document}