我可以提高 pgfplots 的准确性吗?

我可以提高 pgfplots 的准确性吗?

致力于 pgfplots 解决方案这个问题,我遇到了以下问题。当我仅绘制平方根函数的一个分支时,绘图似乎没问题;但是当我添加函数的负部分时,绘图似乎在值处上移x=0.0

%pdfLaTeX
\documentclass{standalone}
\usepackage{pgfplots}

\begin{document}
\begin{tikzpicture}

\begin{axis}[axis lines = center,samples=100]
    \addplot [] {+sqrt(x)};
    \addplot [] {-sqrt(x)};
\end{axis}

\end{tikzpicture}
\end{document}

这就是仅通过绘图所获得的结果\addplot [] {+sqrt(x)};

在此处输入图片描述

这是我绘制两个函数时得到的结果;

在此处输入图片描述

另外,当我增加绘图样本的数量时,问题似乎得到了解决,但它高度依赖于样本的值,而且问题并没有完全解决。

这就是我要说的samples=500

在此处输入图片描述

为什么会发生这种情况?这是因为我需要在绘制函数时定义一些精度吗?为什么当我只绘制一个函数时不会发生这种情况?

答案1

问题在于您没有对 处的点进行采样x=0,因为默认域从 开始-5+5并且您使用了偶数个样本。通过设置samples=101和/或设置domain=0:5,您至少会得到一个连通图。但是在有趣的地方(接近 ),采样不够密集x=0,因此您仍然需要使用大量样本。

但是,在这种情况下,你可以简单地作弊,并在 y 轴上绘制函数的反函数:

\documentclass[border=5mm]{standalone}
\usepackage{pgfplots}

\begin{document}
\begin{tikzpicture}

\begin{axis}[axis lines = center,samples=100]
    \addplot [] (x^2, x);
\end{axis}

\end{tikzpicture}
\end{document}

相关内容