我正在尝试使用下面的代码绘制分段函数。问题是,右侧部分绘制不正确。对于大于 pi/2 的值,它(显然)应该为常数零,但在图中看起来不是这样。我肯定我做错了什么。
提前致谢。
\begin{tikzpicture}[
declare function={
func(\x)= and(\x >= -pi, \x < -pi/2) * (0) +
and(\x >= -pi/2, \x <= pi/2) * (-(\x)*(\x)+pi*pi/4) +
and(\x > pi/2, \x <= pi) * * (0)
;
}
]
\begin{axis}[
Axis Style,
xtick={
-3.14159, -1.5708, 0,
1.5708, 3.14159
},
xticklabels={
$-\pi$, $-\frac{\pi}{2}$, $0$, $\frac{\pi}{2}$, $\pi$
},
ytick={
0,
1.234, 2.467
},
yticklabels={
$0$, $\frac{\pi^2}{8}$, $\frac{\pi^2}{4}$
},
samples=75
]
\addplot [mark=none,ultra thick, domain=-3.1415:3.15, blue] {func(x)};
\end{axis}
\end{tikzpicture}
答案1
您的代码中有一个小错误。请尝试进行以下小更改:
\documentclass{article}
\usepackage{tikz,pgfplots}
\begin{document}
\begin{tikzpicture}[
declare function={
func(\x)= and(\x >= -pi, \x < -pi/2) * (0) +
and(\x >= -pi/2, \x <= pi/2) * (-(\x)*(\x)+pi*pi/4) +
and(\x > pi/2, \x <= pi) * (0)
;
}
]
\begin{axis}[
Axis Style,
xtick={
-3.14159, -1.5708, 0,
1.5708, 3.14159
},
xticklabels={
$-\pi$, $-\frac{\pi}{2}$, $0$, $\frac{\pi}{2}$, $\pi$
},
ytick={
0,
1.234, 2.467
},
yticklabels={
$0$, $\frac{\pi^2}{8}$, $\frac{\pi^2}{4}$
},
samples=75
]
\addplot [mark=none,ultra thick, domain=-3.1415:3.15, blue] {func(x)};
\end{axis}
\end{tikzpicture}
\end{document}