Re: piecewise vs which

*To*: mathgroup at smc.vnet.net*Subject*: [mg60120] Re: piecewise vs which*From*: Peter Pein <petsie at dordos.net>*Date*: Sat, 3 Sep 2005 02:06:08 -0400 (EDT)*References*: <df9437$620$1@smc.vnet.net>*Sender*: owner-wri-mathgroup at wolfram.com

Bradley Stoll schrieb: > Consider defining a function in Mathematica (v. 5.2) in two different > ways: f[x_]=Piecewise[{{x^2,x<2},{3x,x>2}}] and > g[x_]=Which[x<2,x^2,x>2,3x]. Notice that 2 is not in the domain of > either function. However, if I ask for f[2], Mathematica returns 0 and if I ask > for g[2] Mathematica (correctly) returns nothing. Is this a bug with > Mathematica (that Mathematica returns 0 for f[2]), since 2 is not in the domain? > While I have eyes, there is another question regarding limits. Is it > the case that Limit[f[x],x->2] defaulted as > Limit[f[x],x->2,Direction->-1] (a right hand limit)? Both return 6 in > the above example. I'm using Mathematica in my calculus class and would > like to explain why Mathematica does certain things. It doesn't seem > that it would've been too difficult to just have two subroutines (a > right and left hand limit) to determine whether a 'full' limit actually > existed. > Thanks! > > Bradley > Hi Bradley, if you have a look at the documentation, you'll see that Piecewise has a default value 0. If you want f[2] to return Null (as g[2] does, enter In[1]:= f[x_] = Piecewise[{{x^2, x < 2}, {3*x, x > 2}},Null]; g[x_] = Which[x < 2, x^2, x > 2, 3*x]; In[3]:= f[2] == g[2] Out[3]= True -- Peter Pein, Berlin GnuPG Key ID: 0xA34C5A82 http://people.freenet.de/Peter_Berlin/