MathGroup Archive 2006

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

Search the Archive

Re: how to sum lists of unequal length?


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


  • Prev by Date: RE: How to solve this system of equations in Mathematica
  • Next by Date: Re: path for package
  • Previous by thread: Re: how to sum lists of unequal length?
  • Next by thread: Re: how to sum lists of unequal length?