Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2007

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

Search the Archive

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


  • Prev by Date: Re: Re: Re: Mathematica: Long divison for polynomials
  • Next by Date: Re: Vertical tick labels in BarChart
  • Previous by thread: Re: Finding position of an element in a list:
  • Next by thread: Re: Finding position of an element in a list: