我正在尝试绘制某些滤波器的频率响应图。这是我目前拥有的代码:
\begin{tikzpicture}
\begin{semilogxaxis}[xlabel=Frequency, ylabel=Gain, xmin=1, xmax=20000, ymin=0, ymax=2]
\addplot[domain=1:1e4,color=red] {250000/(x*x + 500*x + 250000)};
\end{semilogxaxis}
\end{tikzpicture}
它的作用是创建这个:
有人知道为什么红线在 4 左右停止,以及如何防止这种情况发生?
答案1
据我所知,问题的原因是涉及远超过 10^5 的数字的计算,此时内部计算器开始中断,因此 pgfplot 根本没有绘制发生这种情况的任何点。
我通过在外部生成一个表并加载它来“解决”它,对我来说效果很好。
\begin{figure}[ht]
\caption{2-pole Lowpass filter frequency response}
\centering
\resizebox{\textwidth}{!}{
\begin{tikzpicture}
\begin{axis}[xlabel=Frequency, ylabel=Gain, xmin=1, xmax=5, ymin=0, ymax=2]
\addplot[mark=none, color=red] file {lowpassfrequencyresponse.dat};
\end{axis}
\end{tikzpicture}
}
\end{figure}