MathGroup Archive 2006

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

Search the Archive

Re: Can anybody help?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg63526] Re: [mg63519] Can anybody help?
  • From: gardyloo <gardyloo at mail.wsu.edu>
  • Date: Tue, 3 Jan 2006 05:24:42 -0500 (EST)
  • References: <200601030626.BAA26066@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

Hi, Kent,

   If I understand your question correctly, I think this will do it (not
sure about efficiency for very large lists, however):

v2[[Flatten[(Position[v1, #1] & ) /@ v3]]]



Note that the answer returned by this is actually

{12, 32, 63}


which differs from your proposed answer in  the first element.


                 Hope that helps,
                            Curtis O.


Kent Holing wrote:

>I have three vecors containg: v1, v2 and v3.
>v1 and v2 has the same length. v3 is shorter than v1.
>All elements of v3 is an element of v1.
>Need to have the corresponding v2 values corresponding to the v3 (= v1) value.
>Know that the elements of v1 and v3 are different. The elements of v2 do not need to different.
>Ex:
>v1={1,2,3,4,5,6,7,8,9}
>v2={10,11,12,22,32,42,53,63,73}
>v3={3,5,8}
>The corresponding v2 values are {11,32,63}
>It easy to write straightforward code to do this.
>But is it really a very elegant/short way (one-liner?) of doing this in Mathematica?
>Kent Holing
>
>
>  
>


  • Prev by Date: Re: Can anybody help?
  • Next by Date: Re: Can anybody help?
  • Previous by thread: Re: Can anybody help?
  • Next by thread: Re: Can anybody help?