使用 tikz 绘制的分段函数不正确

使用 tikz 绘制的分段函数不正确

我正在尝试使用下面的代码绘制分段函数。问题是,右侧部分绘制不正确。对于大于 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}

相关内容