Re: Manipulating vectors with Position
- To: mathgroup at smc.vnet.net
- Subject: [mg117346] Re: Manipulating vectors with Position
- From: Bob Hanlon <hanlonr at cox.net>
- Date: Wed, 16 Mar 2011 06:24:18 -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}}
Bob Hanlon
---- 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=C3=A1s