TikZ 中的绘图函数

TikZ 中的绘图函数

我正在尝试绘制以下函数:

功能

其中 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}

相关内容