Re: Using "Sum" (i = 1 ... N) in a function definition

*To*: mathgroup at smc.vnet.net*Subject*: [mg49720] Re: Using "Sum" (i = 1 ... N) in a function definition*From*: "Peltio" <peltio at twilight.zone>*Date*: Thu, 29 Jul 2004 07:44:30 -0400 (EDT)*References*: <ce5d8p$b4k$1@smc.vnet.net>*Reply-to*: "Peltio" <peltioNOSP at Mdespammed.com.invalid>*Sender*: owner-wri-mathgroup at wolfram.com

"Rainer" wrote >I was trying to define a function using the Sum command in the >following way (simplified example): > > MyData = {3,2,4,5,6}; > MyFunc[i_] = Sum[MyData[[j]],{j,1,i}]; I suggest that you use a delayed assignment in the definition of your function MyFunct, here. MyFunc[i_] := Sum[MyData[[j]],{j,1,i}]; >As you can see, the idea is to use the length of the list (i) >as a variable in the function definition, such that > > MyFunc[1] = 3 > MyFunc[2] = 3 + 2 = 5 > MyFunc[3] = 3 + 2 + 4 = 9 You can obtain the same result via MyFunc[i_] := Plus @@ Take[MyData, i] (in version 5 Total@ can be used instead of Plus@@) cheers, Peltio Invalid address in reply-to. Crafty demunging required to mail me.