Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2011

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

Search the Archive

Re: Plot function with two arguments

  • To: mathgroup at smc.vnet.net
  • Subject: [mg122126] Re: Plot function with two arguments
  • From: DrMajorBob <btreat1 at austin.rr.com>
  • Date: Sat, 15 Oct 2011 06:04:27 -0400 (EDT)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com
  • References: <201110140953.FAA18442@smc.vnet.net>
  • Reply-to: drmajorbob at yahoo.com

That question has been asked on Mathgroup about 7 thousand times, and the  
answer is:

Attributes@Plot

{HoldAll, Protected}

Because of the HoldAll attribute, Plot doesn't "know" that it's plotting  
several functions (and especially not how many there are) until too late  
to apply colors.

I think Plot should determine the number of lines being drawn before  
deciding PlotStyles, but... it doesn't.

Bobby

On Fri, 14 Oct 2011 04:53:36 -0500, Alexei Boulbitch  
<Alexei.Boulbitch at iee.lu> wrote:

> "Remove Evaluate, and all the curves will be the same color."
>
>
>
> Why actually it behaves this way?
>
>
>
> This:
>
> f[x_, k_] := (k*x^2 - x)/(x - k);
>
> Plot[Table[f[x, k], {k, -3, 3}], {x, -20, 20}]
>
>
>
> indeed yields all lines of the same colour.  However, this:
>
>
>
> lst=Table[f[x, k], {k, -3, 3}];
>
> Plot[lst, {x, -20, 20}]
>
>
>
> returns the lines with different colours. I would appreciate, if one  
> explains the reason
>
> For such a behaviour.
>
>
>
> Thank you, Alexei
>
>
>
>
>
> f[x_, k_] := (k*x^2 - x)/(x - k)
>
> Plot[Evaluate@Table[f[x, k], {k, -3, 3}], {x, -20, 20}]
>
>
>
> Remove Evaluate, and all the curves will be the same color.
>
>
>
> Bobby
>
>
>
> On Wed, 12 Oct 2011 02:43:01 -0500, Momo K <momok1994 at googlemail.com>
>
> wrote:
>
>
>
>> Hello,
>
>>
>
>> I want to plot the function f. It is defined as followed:
>
>>
>
>> f[x_, k_] := (k*x^2 - x)/(x - k)
>
>>
>
>> As you see, it takes two arguments. In fact it shall represent a family
>
>> of
>
>> curves, but I didn't find any way different to this to define one.
>
>>
>
>> My aim is to plot the function by plot firstly f[x, -3], then f[x, -2],
>
>> f[x,
>
>> -1], f[x, 0], ...
>
>> Is there a way to do this automatically without typing every single
>
>> function
>
>> with k adjusted. I imagined something like {{x,-20,20}, {k,-3,3}} or so.
>
>>
>
>> Many thanks
>
>> and best regards
>
>>
>
>> Momo
>
>
>
> Alexei BOULBITCH, Dr., habil.
>
> IEE S.A.
>
> ZAE Weiergewan,
>
> 11, rue Edmond Reuter,
>
> L-5326 Contern, LUXEMBOURG
>
>
>
> Office phone :  +352-2454-2566
>
> Office fax:       +352-2454-3566
>
> mobile phone:  +49 151 52 40 66 44
>
>
>
> e-mail: alexei.boulbitch at iee.lu<mailto:alexei.boulbitch at iee.lu>
>
>
>
>
>
>


-- 
DrMajorBob at yahoo.com



  • Prev by Date: Limitation on vector length in NDSolve?
  • Next by Date: Re: Fitting step function
  • Previous by thread: Re: Plot function with two arguments
  • Next by thread: Re: Plot function with two arguments