函数无法绘制(“尺寸太大”错误)

函数无法绘制(“尺寸太大”错误)

我想绘制此函数(抱歉,我不知道如何在这个论坛上写出方程式):

f(x)= -2*arccos(0.5*e^(ln(4)/x)-1)+pi

当我在 中输入代码(如下所示)时pgfplots,出现错误,提示“维度太大”。我尝试将和中x的整个 放入 中,我将域限制为(因此它继续),但似乎没有任何效果。唯一不会出错的方法是删除。但是,我得到一个空网格,其中没有显示任何函数。有人知道如何绘制这个函数吗?arccosdeg()y2:8deg()

\begin{figure}[H]
    \begin{tikzpicture}[scale=1.3, transform shape]
    \begin{axis}[xmin=-8, xmax=8, ymin=-4, ymax=4, restrict y to domain=-8:1, axis x line=center, axis y line=center]
    \addplot[color=blue, samples=100, domain=2:8]
    {-2*acos( 0.5*e^(ln(4)/x) -1 )+pi};
    \end{axis}
    \end{tikzpicture}
    \centering
\label{fig:thetafunction}
\end{figure}

这里你可以发现情节应该是什么样的。

答案1

我不明白你到底想用y域做什么,因为你的函数只依赖于x。问题是acos函数以度为单位返回答案,但你想要以弧度为单位(如果我理解正确的话)。请参阅答案。另外,我不确定是否有人可以更好地处理域问题,但由于您的x在分母中,因此您在 处遇到了问题x=0。我只是将域分成两部分,您可以根据需要随意更改边界。希望这对您有用。

\documentclass[10pt]{article}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\begin{document}
\begin{tikzpicture}
\begin{axis}
    \addplot[color=blue, samples=100, domain=1:8]
    {pi -2.0 * rad(acos(0.5 * exp(ln(4.0)/x) - 1.0))};
    \addplot[color=red, samples=100, domain=-8:-0.1]
    {pi -2.0 * rad(acos(0.5 * exp(ln(4.0)/x) - 1.0))};
\end{axis}
\end{tikzpicture}
\end{document}

相关内容