Wie zeichne ich eine Brownsche Bewegung innerhalb einer Achsenumgebung?

Wie zeichne ich eine Brownsche Bewegung innerhalb einer Achsenumgebung?

Ich möchte eine Standard-Brownsche Bewegung von Zeit 0 bis 1 zeichnen. Aufbauend aufdiese Antwort, ich habe Folgendes versucht:

\documentclass{article}

\usepackage{pgfplots, tikz}
\pgfplotsset{compat = newest}

\newcommand{\Emmett}[5] % color, x0, dt, n 
{
    \draw[#1] (0, #2)
    \foreach\x in {1, ..., #4} {
        -- ++(#3, rand * #3)
    }
    node[right] {#5};
}

\begin{document}

\begin{tikzpicture}[>=latex]
    \begin{axis}[
        axis x line = center,
        axis y line = center,
        xtick = {0, ..., 1},
        ytick = {-1, ..., 1},
        xlabel = {$t$},
        ylabel = {$x$},
        xlabel style = {right},
        ylabel style = {above},
        xmin = 0,
        xmax = 1.1,
        ymin = -1,
        ymax = 1]

        \Emmett{black}{0}{.01}{100}{};
    \end{axis}
\end{tikzpicture}

\end{document}

Die Ausgabe ist

Bildbeschreibung hier eingeben

und daher ist offensichtlich etwas falsch. Ich muss zugeben, dass ich das \EmmettMakro nicht ganz verstehe und höchstwahrscheinlich etwas damit nicht stimmt. Was der Code eigentlich tun sollte, ist Folgendes:

t = 0;
x = x0;

for (i = 0; i < n; ++i)
{
    plot (t, x);

    let xi be a sample from the standard normal distribution;
    x += sqrt(dt) * xi;
}

Wie muss ich also das Makro anpassen? Ein Pfad der Standard-Brownschen Bewegung sollte eigentlich so aussehen

Bildbeschreibung hier eingeben

verwandte Informationen