使用 tikz 绘制随机函数 f(x) 和 f(x)+sin(x)

使用 tikz 绘制随机函数 f(x) 和 f(x)+sin(x)

我正在绘制一个具有随机值的函数 f(x),如下所示:

\documentclass[tikz]{standalone}

\begin{document}
\begin{tikzpicture}
\draw[color=blue, samples=150]  plot[domain=0:10] (\x,rand) node[below] {$f(x)$};
\end{tikzpicture}
\end{document}

现在我想绘制一个新的函数 g(x),其定义为 g(x)=f(x)+sin(x)。有办法吗?

我将非常感激您的帮助。

谢谢

答案1

是的,如果您在绘图之前直接设置种子并使用相同的设置,这很容易samples实现domain

如果您不想手动设置种子,您可以在第一次绘图之前将其存储,然后重新设置。

代码

\documentclass[tikz,convert=false]{standalone}
\makeatletter
\def\pgfmathstoreseed#1{\let#1\pgfmath@rnd@z}
\let\pgfmathrestoreseed\pgfmathsetseed
\makeatother
\begin{document}
\begin{tikzpicture}
  \pgfmathstoreseed\mySeed
  \draw[color=blue, samples=250] plot[domain=0:10] (\x,rand/10) node[right] {$f(x)$};
  \pgfmathrestoreseed\mySeed
  \draw[color=red,  samples=250] plot[domain=0:10] ({\x,rand/10 + sin (\x r)})
                                                       node[below] {$f(x) + \sin x$};
\end{tikzpicture}

\begin{tikzpicture}
  \pgfmathsetseed{126838}
  \draw[color=blue, samples=250] plot[domain=0:10] (\x,rand/10) node[right] {$f(x)$};
  \pgfmathsetseed{126838}
  \draw[color=red,  samples=250] plot[domain=0:10] ({\x,rand/10 + sin (\x r)})
                                                       node[below] {$f(x) + \sin x$};
\end{tikzpicture}
\end{document}
\end{document}

输出

在此处输入图片描述

相关内容