Faster Random Walk Simulation ?!?
- To: mathgroup at smc.vnet.net
- Subject: [mg66177] Faster Random Walk Simulation ?!?
- From: "mfific at gmail.com" <mfific at gmail.com>
- Date: Wed, 3 May 2006 02:44:45 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
Dear All, I am running a simulation with Mathematica 5 that includes random walk described below. The argument boundaryA is upper and lower boundary for a random walk. Parameter "value" is just a constant arbitrarily set to 0.5. The output of the table function is the 10000 random walks, and their path to either +5 or -5 boundary value. While everything works as expected, it takes considerable duration of time. For example it takes 2.6 seconds to generate the table output, on a relatively fast computer. I would very appreciate if any significantly faster solution could be suggested. value = .5 RandomWalk[boundaryA_] := Block[{l = {{0, 0}}, x = 0, i = 0 }, While[boundaryA > x > -boundaryA, x += If[Random[] > value, 1, -1]; l = Append[l, {++i, x}]]; l] Timing[Table[RandomWalk[5], {i, 1, 10000}];] Out[420]= {2.672 Second, Null} Thank you very much, Mario Fific Mario Fific Cognitive Psychology, Cognitive Science Indiana University 1101 E. 10th St. Bloomington, IN 47405-7007