Re: Issuing Function Calls within a Plot command
- To: mathgroup at smc.vnet.net
- Subject: [mg111538] Re: Issuing Function Calls within a Plot command
- From: Peter Breitfeld <phbrf at t-online.de>
- Date: Wed, 4 Aug 2010 07:33:23 -0400 (EDT)
- References: <i38rbb$cuq$1@smc.vnet.net>
Plot[f[x],{x,0,5}] has the Attribute HoldAll. This means here, that to
generate the plot Mathematica first chooses numbers for x e.g. x=0,
x=0.5,... and calculates f[0], f[0.5],...
In your case it tries to calculate the D[0^2,0] which is nonsense, so
you get warnings and not plot drawn. To force the calculation of the
derivative you should use Evaluate:
Plot[D[myFunction[x],x]//Evaluate,{x,0,5}]
which will work. It is stated in the documentation of Plot "More Information".
Andrew DeYoung wrote:
> Hi,
>
> It seems like Mathematica has difficulty plotting calls to other
> functions. Is this true? For example, can you help me understand why
> the following does not plot?
>
> If I write
>
> myFunction[x_] := x^2;
> Plot[D[myFunction[x], x], {x, 0, 5}]
>
> nothing plots.
>
> If I write
>
> myFunction[x_] := x^2;
> Plot[D[myFunction[x][x], x], {x, 0, 5}]
>
> again, nothing plots.
>
> However, if I compute the derivative of the function outside of the
> Plot command,
>
> myFunction[x_] := x^2;
> myDerivative = D[myFunction[x], x]
> Plot[myDerivative, {x, 0, 5}]
>
> the derivative of x^2 (i.e., 2x) plots correctly.
>
> Can anyone please help me understand why my first two tries do not
> work, but my third try does?
>
> Many thanks in advance.
>
> Andrew DeYoung
> Carnegie Mellon University
> adeyoung at andrew.cmu.edu
>
--
_________________________________________________________________
Peter Breitfeld, Bad Saulgau, Germany -- http://www.pBreitfeld.de