как нарисовать $\ln(x+\sqrt{x^2-1})$ с помощью tikz

как нарисовать $\ln(x+\sqrt{x^2-1})$ с помощью tikz

Я пробую это, но это не работает.

\def\Xmin{-2} \def\Xmax{2} 
\def\Ymin{-2} \def\Ymax{2} 
\def\Xunit{1.5cm} \def\Yunit{1.5cm} 
\def\Xleg{\small \sffamily $x$} % légende en abscisse 
\def\Yleg{\small \sffamily $y$} % légende en ordonnées 
\begin{tikzpicture}[x=\Xunit,y=\Yunit] 
\draw[>= latex,->,thick](\Xmin,1)--(\Xmax,1); 
\draw[>= latex,->,thick](1,\Ymin)--(1,\Ymax); 
\draw [domain=\Xmin:\Xmax,thick,red] plot (\x,{(ln(\x+(sqrt{((\x)^2}-1)))});
\end{tikzpicture}

решение1

Не делайте вручную то, что LaTeX может сделать за вас, используйте его pgfplotsдля добавления лучших функций построения графиков, включая автоматическое позиционирование осей.

Обратите внимание, что безpgfplots являетсявозможно, но у него нет встроенных проверок сохранения. Например, в предлагаемой области [-2,2] функция x+sqrt{x^2-1}режет отрицательные числа, на которых lnне определена. И мы получим ошибку

! Package PGF Math Error: I cannot calculate the logarithm of -0.26794

Но pfdplotsесть встроенные проверки, чтобы ничего не взорвалось, поэтому здесь указание домена [-2,2]сработает, pgfplotsпросто ничего не будет построено в затронутой области.

Возможно, вы захотите вручную добавить yminи ymaxв axisпараметрах, как я сделал с xminetc.

\documentclass{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.16}
\begin{document}
\begin{tikzpicture}
  \begin{axis}[
    unbounded coords=jump,
    domain=-2:2,
    xmin=-2,
    xmax=2,
    ]
    \addplot[red,smooth] {ln(\x+(sqrt((\x)^2-1)))};
  \end{axis}
\end{tikzpicture}
\end{document}

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


Вот пример, демонстрирующий исходную функцию и поведение внутренней функции.

\documentclass{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.16}
\begin{document}
\begin{tikzpicture}
  \begin{axis}[
    unbounded coords=jump,
    domain=-2:2,
    axis lines=middle,
    legend style={at={(-0.015,0.95)},anchor=north west,cells={anchor=west}},
    ]
    \addplot[red,smooth,samples=1001] {ln(\x+(sqrt((\x)^2-1)))};
    \addlegendentry{$\ln(x+\sqrt{x^2-1})$}
    \addplot[blue,smooth,samples=1001] {x+sqrt((\x)^2-1)};
    \addlegendentry{$x+\sqrt{x^2-1}$}
  \end{axis}
\end{tikzpicture}
\end{document}

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

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