Re: What's going on here (Table-generated lists)?
- To: mathgroup at smc.vnet.net
- Subject: [mg97993] Re: What's going on here (Table-generated lists)?
- From: Jens-Peer Kuska <kuska at informatik.uni-leipzig.de>
- Date: Fri, 27 Mar 2009 05:36:32 -0500 (EST)
- References: <gqfl2e$ksp$1@smc.vnet.net>
Hi, consider the function myTest[] defined as follows SetAttributes[myTest, HoldAll] myTest[funs : {__}, {x_Symbol, x0_?NumericQ, x1_?NumericQ}] := "List of functions." myTest[fun_, {x_Symbol, x0_?NumericQ, x1_?NumericQ}] := "Single function." and what may come out from {myTest[{x, Sin[x], Cos[x]}, {x, 0, Pi}], myTest[Table[Cos[k*x], {k, 3}], {x, 0, Pi}], myTest[Evaluate[Table[Cos[k*x], {k, 3}]], {x, 0, Pi}]} as expected you get {"List of functions.", "Single function", "List of functions."} and this is so, because the patterns are defined in that way. And as you have noticed, the myTest[] function behave in the same way as Plot[] does. Regards Jens Erik Max Francis wrote: > I'm seeing a difference in behavior with Plot in conjunction with Table, > and I'm rather confused at the reason. If I use Plot to plot a list > of functions, it works as expected, and I get a plot with each function > in its own color: > > Plot[{x, 2 x, 3 x, 4 x, 5 x}, {x, -1, 1}] > > If I use Table, then this doesn't work the same way -- the five lines > are all plotted with the same color: > > Plot[Table[k x, {k, 1, 5}], {x, -1, 1}] > > I verified that the both objects created have a Head of List, so I don't > see anything obviously different about them. > > Here's what confuses me more: If I generate the table separately and > then use that as a result in a later evaluation in the Plot, then I get > the colors back: > > In[25]:= Table[k x, {k, 1, 5}] > > Out[25]= {x, 2 x, 3 x, 4 x, 5 x} > > In[26]:= Plot[%, {x, -1, 1}] > > What is going on here? Is it something like Plot does a special scan of > its first argument before Evaluating it, and if it doesn't start out as > a List, it concludes that it's all one thing and plots it with the same > color, as opposed to an explicitly provided list of separate colors? >