Problem mit der Plotfunktion mit pgfplots (Takagi-Funktion)

Problem mit der Plotfunktion mit pgfplots (Takagi-Funktion)

Ich versuche, Stufenfunktionen zu zeichnen, die zusammengenommen dieTakagi-Funktion. Die Grafik der ersten Schrittfunktionen ist wie sie sein sollte, aber die Grafik der zweiten schlägt fehl. Siehe das MWE unten (das erste ist schwarz, das zweite rot). Wie kann ich das beheben?

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

\tikzset{
declare function={Floor(\x)=round(\x-0.5);},
declare function={Ceil(\x)=round(\x+0.5);},
declare function={Distance(\x)=min(\x-Floor(\x),Ceil(\x)-x);},
}

\begin{document}
\begin{tikzpicture}
\begin{axis}[
legend style={at={(0.5,-0.2)},anchor=north}
]

\addplot [
mark=none,
domain=0.0001:2,
samples=500,
smooth,
thick,black,
] {Distance(x)};
\addlegendentry{$x\mapsto \varphi(x)
  :=\min\{x-\lfloor x\rfloor,\lceil x\rceil-x\}
:=\operatorname{dist}(x,\mathbb{Z})$}

\addplot [
mark=none,
domain=0.00001:2,
samples=500,
smooth,
thick,red,
] {Distance(2*x)/2};
\addlegendentry{$x\mapsto \frac{1}{2}\varphi(2x)$}
\end{axis}
\end{tikzpicture}
\end{document} 

Bildbeschreibung hier eingeben

Antwort1

\xSie haben in der Definition Ihrer Funktion einfach den Backslash im Finale vergessen Distance. Und wie in einem Kommentar erwähnt, pgfmathdefiniert floorund bereits ceil, sodass Sie sie nicht selbst definieren müssen.

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

\tikzset{
declare function={Distance(\x)=min(\x-floor(\x),ceil(\x)-\x);},
}

\begin{document}
\begin{tikzpicture}
\begin{axis}[
legend style={at={(0.5,-0.2)},anchor=north}
]

\addplot [
mark=none,
domain=0.0001:2,
samples=500,
smooth,
thick,black,
] {Distance(x)};
\addlegendentry{$x\mapsto \varphi(x)
  :=\min\{x-\lfloor x\rfloor,\lceil x\rceil-x\}
:=\operatorname{dist}(x,\mathbb{Z})$}

\addplot [
mark=none,
domain=0.00001:2,
samples=500,
smooth,
thick,red,
] {Distance(2*x)/2};
\addlegendentry{$x\mapsto \frac{1}{2}\varphi(2x)$}
\end{axis}
\end{tikzpicture}
\end{document} 

Bildbeschreibung hier eingeben

verwandte Informationen