我正在尝试学习在乳胶中绘图,但是在尝试找出在这种情况下最适合使用的软件包时遇到了问题,而且我发现这有点难以学习。
假设您有以下功能:
我想知道如何在 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}