绘图功能表达困难

绘图功能表达困难

我正在尝试使用 pgfplots 绘制带有以下代码的图形

\begin{tikzpicture}
\begin{axis}[
axis lines = left,
xlabel = $n$,
ylabel = {$p_{n}$},
]
\pgfmathsetmacro{\P}{520000}
\pgfmathsetmacro{\m}{3162.28}
\pgfmathsetmacro{\r}{1.0045}


\addplot [
domain=1:300, 
samples=300, 
color=red,
]
{100 - 100*((\r - 1)*(\P\r^(\x - 1)-\m*((\r^\x - 1)/(\r - 1)))/\m};
\addlegendentry{$p$}

\end{axis}
\end{tikzpicture}

这是我想要绘制的函数:在此处输入图片描述

以下是我目前得到的情节: 在此处输入图片描述

我怀疑问题出在我的函数解析上,但我不确定。我用计算器测试了几个函数值,我的公式似乎是正确的,或者至少产生的值与图完全不同。任何输入/评论都将不胜感激。

答案1

pgf 没有隐式乘法。这意味着像 这样的操作2\x会产生错误。更糟糕的是,\P\r会扩展为5200001.0045,因此你的$Pr^{n-1}$会变成$(10P+r)^{n-1}$,从而导致绘制出一个巨大的数字。相反,你想写\P*\r^(\x-1)

出于类似的原因,(\r)^\x如果您有负数,您也会想要\r。否则,-2^\x将被解释为-(2^\x)。但这似乎不是问题。

相关内容