rnd 噪声图与另一个函数之间的线段

rnd 噪声图与另一个函数之间的线段

我试图rnd在给定的样本位置处绘制平滑噪声函数(蓝色)和某个其他函数(红色)之间的线段。但是,当我重新评估该函数时,随机数会发生变化,因此线不会与噪声函数接触。我不确定如何纠正这个问题。

蒂克

以下是代码:

\documentclass[border=5pt]{standalone}
\usepackage{tikz}
\usepackage{pgfplots}
\pgfplotsset{compat=1.6}
\begin{document}
\begin{tikzpicture}[
    declare function={
        g(\x)=((0.1*(\x-2)^3)+1)/4;
        gn(\x)=g(\x)+0.1*rnd;
        f(\x)=(0.2*(\x-1.4)^2+0.8)/4;
      }
  ]
  \begin{axis}[
      width=6.5cm,
      axis x line=center,
      axis y line=center,
      xtick={0.0,1,...,4.0},
      ytick={0.0,0.1,...,0.59},
      domain = 0:4,
      samples = 31,
      ymin=0.0,
      xmin=0.0,
      xmax=4.0,
      ymax=0.6,
    ]
    \pgfmathsetseed{126838}
    \addplot+[mark=none,color=blue,thick, smooth] {gn(x)};
    \addplot+ [
      red,
      only marks,
      error bars/.cd,
      y dir=both,
      y explicit,
      error mark=none,
    ] coordinates {
        (0.2,{f(0.2)}) += (0,{gn(0.2)-f(0.2)})
        (1.0,{f(1.0)}) += (0,{gn(1.0)-f(1.0)})
        (1.2,{f(1.2)}) += (0,{gn(1.2)-f(1.2)})
        (2.5,{f(2.5)}) += (0,{gn(2.5)-f(2.5)})
        (3.0,{f(3.0)}) += (0,{gn(3.0)-f(3.0)})
      };
    \addplot+[mark=none,color=red,thick] {f(x)};
  \end{axis}
\end{tikzpicture}
\end{document}

相关内容