Latex 绘图(锯齿函数)

Latex 绘图(锯齿函数)

我有一个函数,我想用 latex/tikz 进行绘图。由于我只是个初学者,我真的不知道该怎么做。别误会,我对大多数函数都没有问题,但这个函数太难了,文档有点让人不知所措。

锯齿函数

如果有人能帮助我绘制这个图就太好了。

答案1

您可以尝试以下操作。

第 1 部分:我认为困难的部分是获取数字的小数部分。 pgf/tikz 函数Mod就是做这个的。请注意,它与 不同mod

第 2 部分:函数 f 和 tikz 的一个问题是 tikz 使用定点算法,而对于此函数,您很快就会超出限制。解决此问题的一种方法是使用 fpu 库。但这不是我要做的。下面显示了一个纯 tikz 方法,注意到 u(100^n*x) 仅用于获取 x 的连续十进制数字。此外,绘图的采样率会极大地改变绘图的外观。

\documentclass{minimal}

\usepackage{tikz}

\begin{document}
\begin{tikzpicture}
[declare function={
    u(\x) = Mod(\x,1);
    j(\x) = 1- abs(u(\x)-0.5);
    f(\x) = j(100*\x)/10 + j(100*u(100*\x))/100 + j(100*u(100*u(100*\x)))/1000;}]

\draw[domain=-1:1,samples=50] plot (\x,{f(\x)});

\end{tikzpicture}
\end{document}

相关内容