Mathematica 9 is now available
Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
2000
*January
*February
*March
*April
*May
*June
*July
*August
*September
*October
*November
*December
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 2000

[Date Index] [Thread Index] [Author Index]

Search the Archive

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


  • Prev by Date: Re: Plotting multiple functions using Map
  • Next by Date: Re: LogPlot != Plot[Log]
  • Previous by thread: Re: Plotting multiple functions using Map
  • Next by thread: Re: Plotting multiple functions using Map