Re: FixedPoint and SameTest
- To: mathgroup@smc.vnet.net
- Subject: [mg11775] Re: [mg11738] FixedPoint and SameTest
- From: "Jürgen Tischer" <jtischer@pitagoras.univalle.edu.co>
- Date: Sat, 28 Mar 1998 00:25:14 -0500
Since MemberQ[lis,#1] is always true, this works. You can have it easier with SameTest->(MemberQ[lis,#2]&). A nice example of this use of SameTest is in Help/demos/Notebook demos/Programming Sampler/Mandelbrot and Julia sets. The question is, is there a way to access the list build by FixedPointList directly? J|rgen ---------- > From: richard j. gaylord <gaylord@ux1.cso.uiuc.edu> To: mathgroup@smc.vnet.net > To: mathgroup@smc.vnet.net > Subject: [mg11775] [mg11738] FixedPoint and SameTest > Date: Thursday, March 26, 1998 3:09 AM > > > i recieved the following question and thought i'd post an answer here > for others who might want to do the same sort of thing. > > > > What is a simple procedure that works like NestList but stops > >once an element in the list repeats. > > > >I want something like FixedPointList, except that instead of stopping > >when two consecutive outputs are the same, it would stop when it > >generates an element it has generated earlier. > > here it is, shown for a simple example a function that picks a random > integer between 1 and (the last random integer generated + 4): > > In[39]:= > SeedRandom[88] > FixedPointList[Random[Integer, {1, # + 4}]&, 5 ] > > Out[40]= > {5,4,2,4,6,3,5,2,3,1,5,3,1,5,5} > > In[41]:= > SeedRandom[88] > lis = {}; > FixedPointList[(AppendTo[lis, #]; Random[Integer, {1, # + 4}] )&, 5, > SameTest -> (MemberQ[lis, #2] == MemberQ[lis, > #1] &) ] > > Out[43]= > {5,4,2,4} > > well, la di da [as anne hall would have said] > > > note: there is also a recursive function definition which will do this > [see the landMindWalk function definition given in exercise #3 on pp. > 217, 219 in Introduction to Progrmaming with Mathemaitca 2nd Edition by > Gaylord, Welllin and Kamin]. personally i prefer the code given here as > thinking recursively gives me a severe headache. > > -- > richard j. gaylord, university of illinois, gaylord@uiuc.edu