MathGroup Archive 2005

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

Search the Archive

Re: comparing two lists


Will this work for you ?

In[41]:=
Table[Flatten[
    (Position[m[[i]],
       #1] & ) /@ Select[
      m[[i]], #1 > v[[i]] & ],
    2], {i, 1, Length[v]}]
Out[41]=
{{2}, {1, 2, 3}}

János
On Feb 16, 2005, at 2:36 PM, Curt Fischer wrote:

> Dear Group:
> I want to write a function that accepts a n-vector and an n x m matrix.
> It should return a list of positions in the matrix where mat[[i,j]] >
> vec[[i]].  For example,
> In[287]:=
> vec=Table[Random[],{2}]
> Out[287]=
> {0.482259,0.314393}
> In[288]:=
> mat=Table[Table[Random[],{4}],{2}]
> Out[288]=
> {{0.183706,0.758693,0.462242,0.170041}, 
> {0.457054,0.349658,0.805455,0.127763}}
> I would like myFunc[] to return {{2},{1,2,3}}.
> How could I write this as a pure function?  Ideally I would like to be
> able to Map or Apply my function to the list {mat, vec} and get my  
> result.
> Something like
> Position[#1,_?(#>#2&)]&@@{mat,vec}
> is doomed to fail because the PatternTest required in Position[] messes
> up the slotting of the other arguments.
> Ideas?  How do you nest pure functions?
> -- 
> Curt Fischer

----------------------------------------------
Trying to argue with a politician is like lifting up the head of a  
corpse.
(S. Lem: His Master Voice)


  • Prev by Date: Re: Apply on MultipleListPlot using pure functions
  • Next by Date: Re: comparing two lists
  • Previous by thread: comparing two lists
  • Next by thread: Re: comparing two lists