\addplot 未定义控制序列

\addplot 未定义控制序列

我正在尝试使用以下 tikz 代码为作业添加图表

包装:

\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{fancyhdr}
\usepackage{ulem}
\usepackage{tikz} 
\usepackage{pgfplots}

tikz代码:

\begin{tikzpicture}[
    declare function={
        func(\x) = (\x < 1\4) * (0) +
        and(\x >= 1/3,  \x <= 1/4) * (sin(pi/(\x))) + 
        (\x > 1/3) * (0)
    ;
    }
]
\begin{axis}[
    axis z line=middle, axis y line=middle,
    ymin=-3, ymax=3, ytick ={-3,...,3}, ylabel=$y$,
    xmin=-2, xmax=2, xtick ={-2,...,2}, xlabel=$x$,
domain=-2:2,samples=101,
]

\addplot [black,thick] {func(\x)};
\end{axis}
\end{tikzpicture}

语法大部分是从另一篇文章中复制而来的,我只是改变了一些变量和函数。当我尝试编译(这是正确的词吗?)时,它给了我以下错误消息“!未定义的控制序列”(它指出 \addplot 是罪魁祸首)。

另外,我应该用一般的 n 来绘制这个带边界的图表,我选择了 1/3 和 1/4 来表示它,但如果可能的话,我希望图表上的 x 值标记为 1/n 和 1/n+1。提前致谢。

答案1

欢迎来到 TeX.SE!在评论中澄清后,我现在绘制了一系列(sin(180/(\x)))^2间隔内的函数[1/(n+1),1/n]。我希望您发现语法是不言自明的,并且这可以让您绘制所需的内容。

\documentclass[tikz,border=3.14mm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.16}
\begin{document}
 \begin{tikzpicture}[
    declare function={func(\n,\x) = 
    ifthenelse(\x>=1/(\n+1),ifthenelse( \x <=
    1/\n,(sin(180/(\x)))^2,0),0);
    }
]
\begin{axis}[
    axis z line=middle, axis y line=middle,
    ymin=-3, ymax=3, ytick ={-3,...,3}, ylabel=$y$,
    xmin=-2, xmax=2, xtick ={-2,...,2}, xlabel=$x$,
domain=0.1:1,samples=12*3*4*5+1,
]
\pgfplotsinvokeforeach{1,...,6}
{\addplot [black,thick] {func(#1,x)};}
\draw[thick] (-2,0) -- (2,0);
\end{axis}

\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容