Моя функция не отображает нужный диапазон

Моя функция не отображает нужный диапазон

Я пытаюсь построить простую функцию: 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}

Я получил:

введите описание изображения здесь

Минимальное значение y должно быть -2 при x = -4, но я получаю -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}

введите описание изображения здесь

Связанный контент