Re: Summary: Which[] as Textbook Input, Plot[] Questions

*To*: mathgroup at smc.vnet.net*Subject*: [mg54069] Re: [mg54037] Summary: Which[] as Textbook Input, Plot[] Questions*From*: "Igor C. Antonio" <igora at wolfram.com>*Date*: Wed, 9 Feb 2005 09:27:53 -0500 (EST)*Organization*: Wolfram Research, Inc.*References*: <200502081031.FAA17755@smc.vnet.net>*Sender*: owner-wri-mathgroup at wolfram.com

Matt wrote: > Hello, > I apologize if the answer to this is somewhere glaringly obvious in > the documentation, however, after at least 4 hours pawing through both > the hardcover Mathematica 4.0 book by Wolfram and the in-program > Mathematica 4.1 documentation, I cannot find how I would annotate a > function that takes on different values based upon different domains. > To wit, something like: > > Clear[f]; > f[x_] := Which[x < 0, Sin[x]/x, x == 0, 1, x > 0, Sin[x]/x]; > Plot[f[x], {x, -pi, pi}, AxesLabel -> {"x", "f[x]"}; > > The 'Which' function is great for actually evaluating something, but I > was looking for something along the lines of traditional mathematical > notation (such as one would write on a chalkboard or on a sheet of > paper), where a large left-bracket would be used and the various > definitions of the function for the various ranges would be > 'constrained' by the bracket. > > I'll try to illustrate what I mean, where the '|'s that I will use > should be interpreted as a single, large left-bracket: > > | Sin(x)/x, x < 0 > f(x) = | 1, x = 0 > | Sin(x)/x, x > 0 > > Is there a way to do what I'm asking in Mathematica 4.1 (or even > above)? This functionality is now built-in Mathematica 5.1: Piecewise construct: http://documents.wolfram.com/mathematica/functions/Piecewise http://documents.wolfram.com/mathematica/book/section-3.2.3 Piecewise is tightly integrated with other functions in Mathematica, so it's possible to use Integrate, DSolve, and others with piecewise functions. Before Mathematica 5.1, I believe users implemented their own piecewise functions via If, Which, and Switch statements. > > > As regards the Plot[] function, I'm puzzled as to why the following > doesn't give me an error when evaluated: > > Clear[g]; > g[x_] := 1/x; > Plot[g[x], {x, -5, 5}]; > > It seems as though it should, considering that x at zero is undefined. > However, Mathematica draws the graph as though the function were just > fine. > > Thanks for any light you can shed on this, Plot, as well as other plotting functions, samples points over the range of the function. In this case, x==0 is not one of them. The default number of sampled points is 25 and it can be changed via the options PlotPoints->. > > Matt Igor C. Antonio Wolfram Research, Inc.

**References**:**Summary: Which[] as Textbook Input, Plot[] Questions***From:*"Matt" <anonmous69@netscape.net>