Re: zigzag & random walk
- To: mathgroup at smc.vnet.net
- Subject: [mg22334] Re: [mg22292] zigzag & random walk
- From: "Pascal BAES" <pascal.baes at skynet.be>
- Date: Fri, 25 Feb 2000 21:13:24 -0500 (EST)
- Sender: owner-wri-mathgroup at wolfram.com
>I'm searching for the formulas known as ZigZag and Long Random Walk. >Can anyone help me to get the formulas or to a place where I can find >more in formation ? (*Skuse my Destroystyle: I'm Frenchy and Artist.(Not American or German Scientist) Cf that old stuf Maeder Package "Random Walk.m" I used very much it to produce NoisySound (MassOfNonSinusoidaleVibration) and CrispyAnimation Thinks to eternal Mader... there somme modified version, Whith "Seed control"*) (*MadWalk1D:*) grange = N[{0, 2Pi}]; randomDelta1 := With[{dir1 = Random[Real, grange]},Sin[ dir1]]; MadWalk1D[i_Integer,n_Integer] := (SeedRandom[i]; NestList[ # + randomDelta1&,0, n ]); (*Thats Integer one: RandIntWalk*) RandIntWalk[i_Integer,n_Integer] :=(SeedRandom[i]; NestList[(#+(-1)^Random[Integer])&,0,n]) (*thats 2D one: MadWalk2D*) grange = N[{0, 2Pi}]; randomDelta2 := With[{dir1 = Random[Real, grange]},{Sin[ dir1],Cos[dir1]}]; MadWalk2D[i_Integer,n_Integer] := (SeedRandom[i]; NestList[ # + randomDelta2&,{0,0}, n ]); (*Thats 2D one funny, from Point[{a,b}] to Point[{c,d}] MadWalk2DFromTo*) MadWalk2DFromTo[i_Integer,n_Integer,{a_Real,b_Real},{c_Real,d_Real}]:= Plus[Join[{{a,b}}, N[MapThread[ Times[Plus[#1,#2],#3]&,{Table[{a,b},{Length[MadWalk2D[i,n]]}], MadWalk2D[i,n], Table[((1+Cos[k Pi])/2),{k,1/Length[MadWalk2D[i,n]],1, 1/Length[MadWalk2D[i,n]]}]}]]], Reverse[Join[{{c,d}}, N[MapThread[ Times[Plus[#1,#2],#3]&,{Table[{c,d},{Length[MadWalk2D[i,n]]}], MadWalk2D[i,n], Table[((1+Cos[k Pi])/2),{k,1/Length[MadWalk2D[i,n]],1, 1/Length[MadWalk2D[i,n]]}]}]]]]]; (*MadWalk3D*) grange = N[{0, 2Pi}]; randomDelta3 := With[{dir1 = Random[Real, grange],dir2 = Random[Real, grange]},{ Cos[dir1] Cos[dir2],Cos[dir1]Sin[ dir2],Sin[ dir1]}]; MadWalk3D[i_Integer,n_Integer] := (SeedRandom[i]; NestList[ # + randomDelta3&,{0,0,0}, n ]); (*ex1:*) ListPlay[Join[Flatten[MapThread[List,Table[MadWalk1D[i,200],{i,0,90}]]], Reverse[Flatten[MapThread[List,Table[MadWalk1D[i,200],{i,0,90}]]]]]]; (*ex2:*) Show[Graphics[{Table[Line[MadWalk2D[i,1000]],{i,110,115}], {PointSize[0.02], RGBColor[1,0,0] ,Point[{0,0}]}}]]; (*ex3:*) A={-10.,-10.}; B={10.,10.}; Table[Show[ Graphics[{ Table[Line[MadWalk2DFromTo[i,pe,A,B]],{i,0,10}],{PointSize[0.05], RGBColor[1,0,0] ,Point[A]},{PointSize[0.05], RGBColor[0,0,1] , Point[B]}}],PlotRange->{{-15,15},{-15,15}}],{pe,20,50}] (*ex4:*) Table[Show[ Graphics3D[{ Table[Line[MadWalk3D[i,n]],{i,0,99}],{PointSize[0.2], RGBColor[1,0,0] ,Point[{0,0,0}]}}], PlotRange->{{-10,10},{-10,10},{-10,10}}],{n,10,50,2}]; Hope thats help Pascal BAES La Pose Longue PataPhysik Lab