使用 pgfplots 的图表:使用 x 作为负幂时失败

使用 pgfplots 的图表:使用 x 作为负幂时失败

我正在尝试绘制电容器的放电曲线。代码如下:

  \documentclass{article}      
  \usepackage{pgfplots}      
  \begin{document}

    \begin{tikzpicture}
    \begin{axis}[domain = -360:360, samples=40,
    width=.6\linewidth, height=7cm, xmin=0, xmax=10, ymin=0]

    \addplot[color=blue] {100 * 2.7^(-x/0.0001)};

    \end{axis}      
    \end{tikzpicture}

\end{document}

事实上,有两个问题。首先,有一个内部错误,可能是由除以引起的0.0001。编译似乎需要很长时间。

但即使你省略除法,只进行 的幂运算-x,也会出现问题。它说:

Package PGF Math Error: You've asked me to divide 97.26378000000000 by 0.0, but I cannot divide any number by 0.0.

下面的第二个错误简单地说Arithmetic overflow

有人知道这里的问题是什么以及如何解决它们吗?有什么解决方法吗?

答案1

由于您的xmin=0xmax=10,您也可以更改该范围的域。否则 2.7^(360/0.0001) 将导致溢出。减少域将起作用。

由于电容器以时间常数呈指数放电0.0001,因此样本也应在相同的范围内间隔。因此,在 0:10 范围内获得良好图所需的样本数量将很高。最好将范围限制为较小的值。我使用了 0:0.01。

  \documentclass{article}
  \usepackage{pgfplots}
  \begin{document}
    \begin{tikzpicture}
    \begin{axis}[domain = 0:0.01, samples=40,
%    width=.6\linewidth, height=7cm, xmin=0, xmax=10,
    ]
    \addplot[color=blue] {100 * 2.7^(-x/0.0001)};
    \end{axis}
    \end{tikzpicture}

\end{document}

在此处输入图片描述

相关内容