Are you aware of the function piecewise(), which seems to do what you
want?  If there is a problem with using it, what is it?

M. Hampton

On Jul 21, 12:34 pm, Doug <mcke...@gmail.com> wrote:
> I'm trying to do something that seems very simple but isn't working.
> Hence the post here :)
>
> I want to define a very simple piecewise linear function.  It's linear
> with slope alpha up to a knot at c and then it's linear with slope
> beta.  Here's what I thought might work:
>
>     f(x) = (x<=c)*alpha*x + (x>c)*(alpha*c + beta*(x-c))
>
> Putting the inequalities in there caused a big mess.  So I tried
> defining a Python Indicator function that turns Truth values into 0 or
> 1, and then I wrapped my relational expressions with it:
>
>     def Indicator(cond):
>          if (cond==True):
>               return 1
>          else:
>               return 0
>
> This didn't work either:
>
>     sage: foo(x) = Indicator(x>4) ; foo
>     x |--> 0
>
> Any other ideas?  I suppose I could in this case define my piecewise
> function as a Python function, but then I won't be able to do as much
> with it later (e.g., differentiate it).
>
> Thx as usual, Doug
--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-support@googlegroups.com
To unsubscribe from this group, send email to 
sage-support-unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/sage-support
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to