Re: Problems with differentiating Piecewise functions

*To*: mathgroup at smc.vnet.net*Subject*: [mg86970] Re: Problems with differentiating Piecewise functions*From*: "David Park" <djmpark at comcast.net>*Date*: Thu, 27 Mar 2008 08:20:39 -0500 (EST)*References*: <fsd6ph$9hb$1@smc.vnet.net>

Although you can often get away with argumentless definitions, I think it is always better to define functions with argument patterns. pw1[x_] = Piecewise[{{x^2, x <= 0}, {x, x > 0}}] Then you can get the derivative by simply writing pw1'[x] The derivative is undefined at x == 0 so Mathematica is correct. -- David Park djmpark at comcast.net http://home.comcast.net/~djmpark/ "hlovatt" <howard.lovatt at gmail.com> wrote in message news:fsd6ph$9hb$1 at smc.vnet.net... > If I set up a piecewise function and differentiate it: > > In[112]:= pw1 = Piecewise[{{x^2, x <= 0}, {x, x > 0}}] > > Out[112]= \[Piecewise] { > {x^2, x <= 0}, > {x, x > 0} > } > > In[113]:= pw1 /. x -> 0 > > Out[113]= 0 > > In[114]:= pw1d = D[pw1, x] > > Out[114]= \[Piecewise] { > {2 x, x < 0}, > {1, x > 0}, > {Indeterminate, \!\(\* > TagBox["True", > "PiecewiseDefault", > AutoDelete->False, > DeletionWarning->True]\)} > } > > In[115]:= pw1d /. x -> 0 > > Out[115]= Indeterminate > > Then at the joins between the pieces I get Indeterminate values, > because the limit x <= 0 has become x < 0 after differentiation. Does > anyone know a solution to this problem? > > Thanks, > > Howard. >