On Sun, 30 Jan 2011 21:22:07 +0100
Francois Maltey <[email protected]> wrote:
> Hello Renato,
> >> def s(x,n) :
> >> return x/2 + add (cos(k*x) for k in [1..n])
> >>
> >> n0 = 5;
> >> plot(s(x,n0),(x,0,pi))
> >>
> > Thanks for clarification and tips :) Just a last doubt: if I
> > understand correctly, add() wants as argument an array like for
> > example [1,2,7,5], but running cos(k*x) for k in [1..n]
> > alone doesn't return such a thing (it gives error in fact)...
> Yes !
>
> And look at the results of
>
> var('x,k,n') # as usual
>
> sum (cos(k*x),k,1,n)
> # a result from geometric and complex and trigonometric series
> # look at the denominator in cos(x)-1.
>
> sum (cos(k*x),k,1,n)(n=12)
> # a quotient, I hope you don't try to get its value when cos(x)==1
>
> add(cos(k*x) for k in [1..n])
> # and get an error !
>
> add(cos(k*x) for k in [1..12])
> # get a long add + + + + +
>
> (lambda n:add(cos(k*x) for k in [1..n]))(12)
> # a little bad way to get ..+..+..+.. with a unknown n.
> # but you can define it with a parameter n... in a function.
>
> I hope you know the lambda function.
>
> There are 3 kinds of functions in python/Sage :
>
> 1/ def fct (x): ... return result
> as proc in Maple.
>
> 2/ lambda x : only one calculus without return
> as -> in Maple (this is this tips I use here)
>
> 3/ fct(x)=x+33 or fct=x+33, and then fct(123) or fct(x=123)
>
> This way is only possible for expressions :
> sum is an operator over formal expression,
> add doesn't accept formal parameter n in the loop.
thanks, I got what to study for the next days ;)
renato
--
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/sage-support
URL: http://www.sagemath.org