MathGroup Archive 2007

[Date Index] [Thread Index] [Author Index]

Search the Archive

Finding position of an element in a list:

  • To: mathgroup at smc.vnet.net
  • Subject: [mg83986] Finding position of an element in a list:
  • From: Gopinath Venkatesan <gopinathv at ou.edu>
  • Date: Thu, 6 Dec 2007 02:43:15 -0500 (EST)

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


  • Prev by Date: Re: Mathematica: Long divison for polynomials
  • Next by Date: ListPLot for 2 List
  • Previous by thread: Re: question with FindRoot
  • Next by thread: Re: Finding position of an element in a list: