我正在尝试绘制电容器的放电曲线。代码如下:
\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=0
和xmax=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}