绘制 1/(x^2) - 图形在 x = 0 附近看起来很奇怪

绘制 1/(x^2) - 图形在 x = 0 附近看起来很奇怪

我是 LaTeX 的初学者,因此我可以更改的用于修改图形/图的变量数量让我感到困惑。我在网站上找到了类似的问题,但它们都提出了不同的解决方案,并向 TikZ 传递了完全不同的参数。

我发现下面的外观和感觉非常好:

\begin{tikzpicture}
   \draw[->] (0.,0) -- (5,0) node[right] {$x$};
   \draw[->] (0,0) -- (0,5) node[above] {$y$};
   \draw[scale=0.5,domain=0:4,smooth, variable=\x,black] plot ({\x},{1/(\x*\x)});
\end{tikzpicture}

对于抛物线来说,这很好,但我想绘制f(x) = 1/x^2,它在 附近开始表现得很奇怪,x = 0因为 y 的值增加得非常快。我该如何解决这个问题并绘制它,以便它适合我定义的轴集?

答案1

您可以使用以下方法tikz以及使用pgfplots(我建议您使用):

在此处输入图片描述

笔记:

  • 你必须小心除以零,尤其是tikzpgfplots有办法更优雅地处理这种情况。 所以,我在下面稍微更改了域以避免这个问题。
  • 我建议使用额外的牙套:因此,\x*\x我建议你养成习惯,而不是(\x)*(\x)。在这种特定情况下,这可能无关紧要,但如果你使用\x^2哪个,那就很重要了可能对负值产生不正确的结果\x

代码:

\documentclass{article}
\usepackage{tikz}
\usepackage{pgfplots}

\begin{document}
\begin{tikzpicture}
   \draw[->] (0.,0) -- (5,0) node[right] {$x$};
   \draw[->] (0,0) -- (0,5) node[above] {$y$};
   \draw[scale=0.5,domain=0.35:7,smooth, variable=\x,blue, thick] plot ({\x},{1/((\x)*(\x))});
\end{tikzpicture}
% ----------------
\begin{tikzpicture}
\begin{axis}[
    xmin=0,
    ymax=400,
    domain=0.05:1,
    samples=100,
    axis y line=left,
    axis x line=bottom, 
    %unbounded coords=discard,
    ]
    \addplot [red, ultra thick] ({\x},{1/((\x)*(\x))});
\end{axis}
\end{tikzpicture}
\end{document}

答案2

PSTricks 中可以实现更自然的表达。因此,我们可以使用x^2而不是(\x)*(\x)。一些按键被保存了。

\documentclass[pstricks,border=30pt,12pt]{standalone}
\usepackage{pst-plot}


\begin{document}
\begin{psgraph}[algebraic,Dy=25]{->}(0,0)(7,110){8cm}{6cm}
    \psplot[linecolor=blue,plotpoints=150]{.1}{6}{1/x^2}
\end{psgraph}
\end{document}

在此处输入图片描述

相关内容