绘制分段函数

绘制分段函数

我正在尝试学习在乳胶中绘图,但是在尝试找出在这种情况下最适合使用的软件包时遇到了问题,而且我发现这有点难以学习。

假设您有以下功能: 功能

我想知道如何在 Latex 中绘制这个图形。我搜索了一下,发现可以使用 PGF 和 tikz 包,并使用声明函数,但我对定义 $x$ 的区间有疑问

作为 Latex 绘图的新手,我该如何解决这个问题?我尝试使用类似的帖子,并尝试插入我的间隔。我的代码如下所示:

\documentclass[tikz]{standalone}
\usepackage{pgfplots}
%\pgfplotsset{compat=1.8}
\begin{document}
\begin{tikzpicture}[
  declare function={
    func(\x)= (\x \in [-\pi, -\frac{pi}{2}) * (0)   +
     and(\x \in [-\frac{\pi}{2},\frac{\pi}{2}) * (\frac{\pi}{2}-|x|)     +
     and(\x \in [\frac{\pi}{2}, \pi]) * (0)
   ;
  }
]
\begin{axis}[
  axis x line=middle, axis y line=middle,
  ymin=-5, ymax=5, ytick={-5,...,5}, ylabel=$y$,
  xmin=-5, xmax=5, xtick={-5,...,5}, xlabel=$x$,
]
\end{axis}
\end{tikzpicture} 
\end{document}

答案1

有几件事您搞错了。首先,正如 marsupilam 在评论中所说,您还必须绘制该函数,而不仅仅是声明它。

其次,声明函数时不能使用\frac\pi。它们是宏,用于排版数学,要进行计算,请像例如这样写pi/2

在此处输入图片描述

\documentclass[tikz]{standalone}
\usepackage{pgfplots}
%\pgfplotsset{compat=1.8}
\begin{document}
\begin{tikzpicture}[
  declare function={
    func(\x)= (\x < -pi/2) * (0)   +
              and(\x >= -pi/2, \x < pi/2) * (pi/2-abs(\x))     +
              (\x >= pi/2) * (0)
   ;
  }
]
\begin{axis}[
  axis x line=middle, axis y line=middle,
  ymin=-5, ymax=5, ytick={-5,...,5}, ylabel=$y$,
  xmin=-5, xmax=5, xtick={-5,...,5}, xlabel=$x$,
  domain=-pi:pi,samples=101, % added
]

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

相关内容