Re: random walk visualization
- To: mathgroup at smc.vnet.net
- Subject: [mg105264] Re: random walk visualization
- From: dh <dh at metrohm.com>
- Date: Wed, 25 Nov 2009 22:59:52 -0500 (EST)
- References: <heimn8$5mc$1@smc.vnet.net>
Alexei Boulbitch wrote: > Dear Community, > > I am making a demonstration for a lecture on random walk. This should > show the random walk evolving in 2D. The following works nicely: > > x := 0; > y := 0; > tab = Table[{x += RandomInteger[{-1, 1}], > y += RandomInteger[{-1, 1}]}, {1000}]; > imTab = Table[ > Show[{Graphics[{Blue, Line[tab[[1 ;; i]]]}], > Graphics[{Red, Thick, Arrowheads[0.03], > Arrow[{tab[[1]], tab[[i]]}]}]}, > PlotRange -> {{-40, 40}, {-40, 40}}], {i, 2, 1000} > ]; > ListAnimate[imTab] > > It however, takes a lot of memory, and few minutes to generate the > graphics list. That is too long. > > If I could directly Animate the graphics instead of generating initially > a graphics list, it would be much faster. This intends to do such a > direct animation: > > x := 0; > y := 0; > tab = Table[{x += RandomInteger[{-1, 1}], > y += RandomInteger[{-1, 1}]}, {1000}]; > Animate[Show[{Graphics[{Blue, Line[tab[[1 ;; i]]]}], > Graphics[{Red, Thick, Arrowheads[0.03], > Arrow[{tab[[1]], tab[[i]]}]}]}, > PlotRange -> {{-40, 40}, {-40, 40}}], {i, 2, 1000} > ] > > But it does not work. I cannot understand the reason. Any idea? > > Regards, Alexei > Hi Alexei, you need to tell "Animate" taht i should change in steps of 1: Animate[Show[{Graphics[{Blue, Line[tab[[1 ;; i]]]}], Graphics[{Red, Thick, Arrowheads[0.03], Print[i]; Arrow[{tab[[1]], tab[[i]]}]}]}, PlotRange -> {{-40, 40}, {-40, 40}}], {i, 2, 1000, 1}] Daniel