MathGroup Archive 2006

[Date Index] [Thread Index] [Author Index]

Search the Archive

Faster Random Walk Simulation ?!?

  • To: mathgroup at
  • Subject: [mg66177] Faster Random Walk Simulation ?!?
  • From: "mfific at" <mfific at>
  • Date: Wed, 3 May 2006 02:44:45 -0400 (EDT)
  • Sender: owner-wri-mathgroup at

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

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}]];

Timing[Table[RandomWalk[5], {i, 1, 10000}];]

{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

  • Prev by Date: Re: "In progress" saving of data collected using Reap/Sow
  • Next by Date: Beginner--Help on using FindRoot to solve the system of equations
  • Previous by thread: Re: Selecting Many Things Rather Than Selecting One Thing From Many
  • Next by thread: Re: Faster Random Walk Simulation ?!?