我的函数没有绘制正确的范围

我的函数没有绘制正确的范围

我正在尝试绘制一个简单的函数y = sqrt(x+4)-2::

\begin{tikzpicture}
   \begin{axis}[ 
        xlabel=$x$,
        ylabel={$y$},
        axis x line=center, axis y line=center
        ] 
        \addplot[domain=-5:5,
        color=red] {sqrt(x+4)-2}; 
    \end{axis}
 \end{tikzpicture}

我得到:

在此处输入图片描述

当 x = -4 时,最小 y 值应为 -2,但我得到的却是 -1.5。这是怎么回事?谢谢!

答案1

  • 定义domain=-5:5要求,pgfplots在下面-4绘制复杂函数,这是不可能的。因此明智的是,下限域是-4
  • 函数的切线在x=-4正交处,因此默认的样本数太小,无法跟随函数变化

最简单的解决办法是

\documentclass[margin=3mm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.15}

\begin{document}
\begin{tikzpicture}
   \begin{axis}[
        xlabel=$x$,
        ylabel={$y$},
        axis lines=center,
       %samples=400% for more smuth curve
            ]
   \addplot[domain=-4:5, color=red] {sqrt(x+4)-2};
   \end{axis}
 \end{tikzpicture}
 \end{document}

这使

在此处输入图片描述

答案2

如果您只是意识到所画的是一条翻转的抛物线,那么您不需要大量的样本。

\documentclass[margin=3pt]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.15}

\begin{document}
\begin{tikzpicture}
   \begin{axis}[
        xlabel=$x$,
        ylabel={$y$},
        axis lines=center]
   \addplot[domain=-2:1.5, color=red] ({(x+2)^2-4},{x});
   \end{axis}
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容