Re: Finding position of an element in a list:
- To: mathgroup at smc.vnet.net
- Subject: [mg84025] Re: [mg83986] Finding position of an element in a list:
- From: DrMajorBob <drmajorbob at bigfoot.com>
- Date: Fri, 7 Dec 2007 03:02:14 -0500 (EST)
- References: <30857944.1196953597097.JavaMail.root@m35>
- Reply-to: drmajorbob at bigfoot.com
xlis = {0, 1, 3, 10, 4, 5, 5.5, 10.25}; Position[xlis, First@Nearest[xlis, 6], 1] {{7}} or: Nearest[xlis -> Range@Length@xlis, 6] {7} Or better yet: Nearest[xlis -> Automatic, 6] {7} Bobby On Thu, 06 Dec 2007 01:43:15 -0600, Gopinath Venkatesan <gopinathv at ou.edu> wrote: > Hello Friends, > > (This is an easy problem, but I was unable to get it work in > Mathematica, probably because of the precision - I tried setting > precision too, still got stuck) > > Suppose we have a list, xlis, having some elements, and I have to find > one nearest value I am interested in that list. In the below example, I > wanted to find the position of a number belonging to list and close to 6 > (which is 5.5 located at 7th). > > I can do this: > > xlis = {0, 1, 3, 10, 4, 5, 5.5, 10.25}; > dropOuterBraces[lst_List] := > StringTake[#1, {2, StringLength[#1] - 1}] &[ > ToString[lst]]; (* took from previous help posted by Peter Pein *) > n1 = Nearest[xlis, 6] > eval = dropOuterBraces[n1] > Position[xlis, eval] > Position[xlis, 5] > > As you see, the last but one command returns nothing, and we have to > explicitly say the number to return the position. > > Or should some other command be used to extract the position of an > arbitrary number in a list? > > Same with the case of MemberQ command, it gives True for some and False > for some. For example, consider this list, > > xlis = Table[N[((1 - Cos[(j - 1)/9 \[Pi]])/2) 1.32], {j, 1, 10}]; > dropOuterBraces[lst_List] := > StringTake[#1, {2, StringLength[#1] - 1}] &[ToString[lst]] > > eval = Nearest[xlis, 0.32]; > xlis > elem = dropOuterBraces[eval] > MemberQ[xlis, 0.545392] > MemberQ[xlis, 0.33] > Position[xlis, 0.33] > Position[xlis, elem] > > Please hint where I am wrong. > > Thanks, > > Gopinath Venkatesan > Graduate Student > University of Oklahoma > > -- = DrMajorBob at bigfoot.com