MathGroup Archive 2011

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

Search the Archive

Re: Manipulating vectors with Position

  • To: mathgroup at smc.vnet.net
  • Subject: [mg117361] Re: Manipulating vectors with Position
  • From: DrMajorBob <btreat1 at austin.rr.com>
  • Date: Wed, 16 Mar 2011 06:27:04 -0500 (EST)

array1 = {a, b, c, d, e, f}; array2 = {{1}, {2, 4, 5}, {3, 6}};

Total@array1[[#]] & /@ array2

{a, b + d + e, c + f}

or

List@Total@array1[[#]] & /@ array2

{{a}, {b + d + e}, {c + f}}

or

array2 /. x : {__Integer} :> Total@array1[[x]]

{a, b + d + e, c + f}

Et cetera.

Bobby

On Tue, 15 Mar 2011 06:07:14 -0500, Lengyel Tamas <lt648 at hszk.bme.hu> 
wrote:

> Dear Mathworld Users,
> I am tackling a rather straightforward problem. Here it is.
>
> 1) I have generated an array of values (Array1)
> 2) I have generated an array of vectors in Array2, whose Length varies,
> and in each subvector the numbers contain the Position (index) of those
> elements that I need from Array1. So far so good.
>
> 3) What I need is to create a code that picks out those elements from
> Array 1 and ads them together if Array2's subvectors have more than 1
> element.
>
> Here's an example to make it clear:
>
> Array1 = {a,b,c,d,e,f};  (*a;;f are numbers*)
> Array2 = {{1}, {2,4,5}, {3,6}};
>
> My outpout should be: {{a}, {a+d+e}, {c+f}}
>
> I think it is simple, but I can't seem to do it.
>
> Any ideas?
>
> Thank you.
>
> Tam=E1s
>


--
DrMajorBob at yahoo.com


  • Prev by Date: Re: Manipulating vectors with Position
  • Next by Date: Re: Manipulating vectors with Position
  • Previous by thread: Re: Manipulating vectors with Position
  • Next by thread: Re: Manipulating vectors with Position