2016-04-28 4 views
0

Wie erzeuge ich einen RandomWalk mit n Dimensionen?Wie man einen RandomWalk mit n Dimensionen erzeugt

Ich habe bereits einige Beispiele für einen 1 oder 2 dimensionalen random walk, aber jetzt muss ich einen random walk mit n Dimensionen programmieren und ich weiß wirklich nicht wie.

hier sind zwei Beispiele für zwei Dimensionen:

RandomWalk2DLattice[n_] := 
Accumulate[Through[{Cos, Sin}[# \[Pi]/2]] & /@ RandomInteger[3, {n}]] 
rw = RandomWalk2DLattice[500]; 

Show[Graphics[{Line[rw], {PointSize[.02], Point[rw[[{-1}]]], 
     Point[{0, 0}]}}, Axes -> True], AspectRatio -> Automatic] 

Hat jemand eine Antwort?

+1

Tipp: Schauen Sie sich https://reference.wolfram.com/language/ref/RandomInteger.html und denken Sie an die verschiedenen Möglichkeiten, wie Sie es Parameter geben kann. Das sollte genug sein. – Bill

Antwort

1
ndim = 3; 
walk = NestList[(d = RandomInteger[{1, ndim}]; 
     ReplacePart[#, d -> #[[d]] + RandomChoice[{-1, 1}]]) &, 
       ConstantArray[0, ndim], 1000]; 

enter image description here

Verwandte Themen