Re: Finding position of an element in a list:

*To*: mathgroup at smc.vnet.net*Subject*: [mg84008] Re: Finding position of an element in a list:*From*: dh <dh at metrohm.ch>*Date*: Thu, 6 Dec 2007 07:21:51 -0500 (EST)*References*: <fj89m3$a90$1@smc.vnet.net>

Hi Gopinath, with version 6 we have the function Nearest: Nearest[xlis -> Automatic, 6] hope this helps, Daniel Gopinath Venkatesan 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 >