Allgemeine Definitionen

Walk2D[n_,f_]:=Nest[(# + f[]{Cos[2.0 Pi Random[]],Sin[2.0 Pi Random[]]})&,{0,0},n]
WalkList2D[n_,f_]:=NestList[(# + f[]{Cos[2.0 Pi Random[]],Sin[2.0 Pi Random[]]})&,{0,0},n]

WeierstrassDistribution[a_]:=Floor[-Log[Random[]]/Log[a]]
WeierstrassDistribution[a_,b_,delta_]:=delta b^Floor[-Log[Random[]]/Log[a]]

Zufallsbewegung mit fester Schrittweite

Abbildung einer Wanderung

ListPlot[WalkList2D[2000,1&],
PlotJoined->True,AspectRatio->1,PlotRange->All];

Mittlere Entfernung gegen Zahl der Schritte

\(mx = 100; \  (*\ Maximale\ Schrittzahl\ *) 
mn = 20; 
    \ \ \  (*\ Versuche\ pro\ Schrittzahl\ *) 

    data = Table[\(Sqrt[# . #]&\)[Walk2D[i, 1&]], {i, 0, mx}, {j, mn}]; 

    data = Transpose[{Range[0, mx], 
          \(\((\((Plus\ @@\ #)\)/\((mn)\))\)&\)\ /@\ data}]; \)

Show[ListPlot[data, DisplayFunction -> Identity], 
      Plot[Evaluate[Fit[data, {Sqrt[x]}, x]], {x, 0, mx}, 
        PlotStyle -> {RGBColor[1, 0, 0]}, DisplayFunction -> Identity], 
      DisplayFunction -> $DisplayFunction, 
      AxesLabel -> {"N", "<L(N)>"}, 
      PlotRegion -> {{0, 1}, {0, 0.9}}];

Zufallsbewegung mit Weierstrass-verteilter Schrittweite

Abbildung einer Wanderung in 2D

ListPlot[WalkList2D[2000,WeierstrassDistribution[4.0,3.0,1.0]&],
PlotJoined->True,AspectRatio->1,PlotRange->All];

Charakteristische Funktion der Weierstrass-Verteilung (1D)

f[k_,a_,b_,delta_,n_]:=(a-1)/a Sum[1/a^j Cos[k b^j delta],{j,0,n}]

Plot[f[k,4.,5.,1.,30],{k,-3,3},PlotPoints->101,AxesLabel->{"k","f(k)"}];