MathGroup Archive 2004

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

Search the Archive

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


Using a SetDelayed (:=) instead of a Set (=) seems
to be what you need here...

MyData = {3, 2, 4, 5, 6};

MyFunc[i_] := Sum[MyData[[j]], {j, 1, i}];
(*Notice the := above!*)

MyFunc[2]
5

-MJ Person
mjperson at mit.edu

wilhelm.rainer at gmx.net (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}];

>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

>etc. Mathematica does not like the abobe statements, and prints the
>following error message:

>"Part specification K$394 is neither an integer nor a list of
>integers."


  • Prev by Date: Re: Using "Sum" (i = 1 ... N) in a function definition
  • Next by Date: Re: Using "Sum" (i = 1 ... N) in a function definition
  • Previous by thread: Re: Using "Sum" (i = 1 ... N) in a function definition
  • Next by thread: Re: Using "Sum" (i = 1 ... N) in a function definition