MathGroup Archive 2006

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

Search the Archive

Re: Can anybody help?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg63536] Re: Can anybody help?
  • From: Bill Rowe <readnewsciv at earthlink.net>
  • Date: Wed, 4 Jan 2006 03:17:13 -0500 (EST)
  • Sender: owner-wri-mathgroup at wolfram.com

On 1/3/06 at 1:26 AM, KHO at statoil.com (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? 

Shouldn't the result be {12,32,63} since the third element of both v2 is 12?

In this particular case the elements of v1 have the same value as their position. So, the most direct way to get what you want is:

In[14]:=v2[[v3]]
Out[14]={12, 32, 63}

In the more general case you would need to compute the positions, i.e.,

In[12]:=v2[[Flatten[Position[v1, #1]&/@v3]]]
Out[12]={12, 32, 63}
--
To reply via email subtract one hundred and four


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