我正在绘制一个具有随机值的函数 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}