我试过了,但是没用
\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
就像我所做的xmin
那样。
\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}