RE: Plotting multiple functions using Map
- To: mathgroup at smc.vnet.net
- Subject: [mg24282] RE: [mg24254] Plotting multiple functions using Map
- From: Wolf Hartmut <hwolf at debis.com>
- Date: Fri, 7 Jul 2000 00:11:25 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
> -----Original Message----- > From: Grischa Stegemann [SMTP:Stegemann at Physik.TU-Berlin.DE] To: mathgroup at smc.vnet.net > Sent: Thursday, July 06, 2000 5:11 AM > To: mathgroup at smc.vnet.net > Subject: [mg24254] Plotting multiple functions using Map > > Dear group > > I have a two parameter function, e.g. > In[1]:= f[x_,y_]:=x+y > > Now I would like to plot f[x,y1],f[x,y2],... within the same chart. > Usually you would try something like this: > In[2]:= Plot[{f[x,1],f[x,2],f[x,3]},{x,-3,3}] > > Since my list of y's is pretty long I tried this: > In[3]:= ylist={1,2,3}; > Plot[Map[f[x,#1]&,ylist],{x,-3,3}] > > but Mathematica complains > Plot::"plnr": (f[x, #1]&)/@ylist is not a machine-size real number > at x=-2.9999997 > > On the other hand we have > In[4]:= Map[f[x,#1]&,ylist] > Out[4]= {1 + x, 2 + x, 3 + x} > and > In[5]:= Plot[{1 + x, 2 + x, 3 + x},{x,-3,3}] > of course works as expected. > > Where is my mistake? > -- > Grischa > > ---------------------------------------------------------------------- > Grischa Stegemann Technische Universitaet Berlin > email: Stegemann at physik.tu-berlin.de > > *** We are here on Earth to do good for others. > *** What the others are here for, I do not know. (W.H. Auden) > [Wolf Hartmut] Grischa, you nearly got it, just do inside of Plot, what you did outside: Evaluate Map, so In[10]:= Plot[Evaluate[Map[f[x, #1] &, ylist]], {x, -3, 3}] does it. You certainly have more alternatives, e.g. In[13]:= Show[Block[{$DisplayFunction = Identity}, Plot[f[x, #1], {x, -3, 3}] & /@ ylist]] Kind regards, Hartmut