我想使用 TIKZ 绘制 y=acos(1/x) 的图形。我不需要 pgfplot,也不需要 pstricks。我只想在 TIKZ 中完成。这是我的尝试。我最终想在域 [1,4] 上绘制,但目前我使用的是 [1,1.1],否则您看不到我的其余图。
\begin{center}
\begin{tikzpicture}
\draw[->](-4,0)--(4,0) node[right]{$x$};
\draw [->](0,0)--(0,pi) node[above]{$y$};
\draw[red,dashed] (-4,pi/2)--(4,pi/2);
\foreach \x in {-3,-2,-1,1,2,3} \draw (\x,-3pt)--(\x,3pt);
\draw (-3,0) node[below]{$-3$};
\draw (3,0) node[below]{$3$};
\foreach \y in {pi/2,pi} \draw (-3pt,\y)--(3pt,\y);
\draw (0,pi/2) node[left]{$\dfrac{\pi}{2}$};
\draw (0,pi) node[left]{$\pi$};
\draw[thick,blue,->] plot [domain=1:1.1] (\x,{acos(1.0/\x)});
\end{tikzpicture}
\end{center}
生成的图像。
我不知道这里发生了什么,因为图应该接近水平渐近线$y=\pi/2$。
有什么想法吗?
答案1
该acos
函数返回以度为单位的值;您必须将其转换为弧度。
\documentclass{article}
\usepackage{tikz,amsmath}
\begin{document}
\begin{tikzpicture}
\draw[->](-4,0)--(4,0) node[right]{$x$};
\draw [->](0,0)--(0,pi) node[above]{$y$};
\draw[red,dashed] (-4,pi/2)--(4,pi/2);
\foreach \x in {-3,-2,-1,1,2,3} \draw (\x,-3pt)--(\x,3pt);
\draw (-3,0) node[below]{$-3$};
\draw (3,0) node[below]{$3$};
\foreach \y in {pi/2,pi} \draw (-3pt,\y)--(3pt,\y);
\draw (0,pi/2) node[left]{$\dfrac{\pi}{2}$};
\draw (0,pi) node[left]{$\pi$};
\draw[thick,blue,->] plot [domain=1:5,samples=200] (\x,{rad(acos(1.0/\x))});
\end{tikzpicture}
\end{document}