Re: Position and Real Numbers
- To: mathgroup at smc.vnet.net
- Subject: [mg18857] Re: [mg18811] Position and Real Numbers
- From: BobHanlon at aol.com
- Date: Thu, 22 Jul 1999 22:57:51 -0400
- Sender: owner-wri-mathgroup at wolfram.com
Jason,
x = Range[-3, 2, .05];
Position is looking for an exact match, i.e., equivalent to SameQ
{Position[x, -.2], Position[x, -1.15],
Position[x, -.15], Position[x, -.05],
Position[x, .1]}
{{}, {{38}}, {}, {}, {}}
For the equivalent of Equals use
{Position[x, _?(# == -0.2 &)], Position[x, _?(# == -1.15 &)],
Position[x, _?(# == -.15 &)], Position[x, _?(# == -0.5 &)],
Position[x, _?(# == .1 &)]}
{{{57}}, {{38}}, {{58}}, {{51}}, {{63}}}
or
myPosition[x_List, val_?NumericQ] :=
Position[x, _?(# == val &)];
myPosition[x, #] & /@ {-.2, -1.15, -.15, -.5, .1}
{{{57}}, {{38}}, {{58}}, {{51}}, {{63}}}
Bob Hanlon
In a message dated 7/22/99 6:24:54 PM, jgill at vbimail.champlain.edu writes:
> I had a member of my department ask me this question, and I thought
>I'd share it with the group.
>In short he was using Position to return to the location of a number in
>a list, and it wouldn't work in many cases. The example was
>
>In[251]:=
>x=Range[-3,2,.05]
>
>Out[251]=
>{-3,-2.95,-2.9,-2.85,-2.8,-2.75,-2.7,-2.65,-2.6,-2.55,-2.5,-2.45,-2.4,-2.35,-
\
>
>2.3,-2.25,-2.2,-2.15,-2.1,-2.05,-2.,-1.95,-1.9,-1.85,-1.8,-1.75,-1.7,-1.65,-1
.\
>
>6,-1.55,-1.5,-1.45,-1.4,-1.35,-1.3,-1.25,-1.2,-1.15,-1.1,-1.05,-1.,-0.95,-0.9
,\
>
>-0.85,-0.8,-0.75,-0.7,-0.65,-0.6,-0.55,-0.5,-0.45,-0.4,-0.35,-0.3,-0.25,-0.2,
-\
>
>0.15,-0.1,-0.05,0.,0.05,0.1,0.15,0.2,0.25,0.3,0.35,0.4,0.45,0.5,0.55,0.6,0.65
,
>
>
>0.7,0.75,0.8,0.85,0.9,0.95,1.,1.05,1.1,1.15,1.2,1.25,1.3,1.35,1.4,1.45,1.5,
>
> 1.55,1.6,1.65,1.7,1.75,1.8,1.85,1.9,1.95,2.}
>
>For a variety or Values, Position returned the null set.
>
>In[286]:=
>Position[x,-.2]
>Position[x,-1.15]
>Position[x,-.15]
>Position[x,-.05]
>Position[x,.1]
>
>Out[286]=
>{}
>Out[287]=
>{{38}}
>Out[288]=
>{}
>Out[289]=
>{}
>Out[290]=
>{}