Re: how to sum lists of unequal length?
- To: mathgroup at smc.vnet.net
- Subject: [mg70393] Re: how to sum lists of unequal length?
- From: Jean-Marc Gulliet <jeanmarc.gulliet at gmail.com>
- Date: Sun, 15 Oct 2006 00:19:09 -0400 (EDT)
- Organization: The Open University, Milton Keynes, UK
- References: <egq2th$84h$1@smc.vnet.net>
Arkadiusz.Majka at gmail.com wrote: > Hi all, > > I have lists of unknown and unequal lengths. I want to sum them, e.g > > {a1,a2,a3}+{b1,b2,b3,b4,b5} and obtain result > {a1+b1,a2+b2,a3+b3,b4,b5}. Simply filling by zeros of the shorter list > is impossible because I have no idea how many zeros I have to pad. The following function takes as argument a list of all the lists of unequal length that one wants to sum, pads the shorter list with zeros, then computes the sum: In[1]:= mySum[expr_] := Module[{n}, n = Max[Length /@ expr]; Total[(PadRight[#1, n] & ) /@ expr]] In[2]:= lst1 = {a1, a2, a3}; lst2 = {b1, b2, b3, b4, b5}; expr = {lst1, lst2}; mySum[expr] Out[5]= {a1 + b1, a2 + b2, a3 + b3, b4, b5} Regards, Jean-Marc