       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, 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.
>
> work, but my third try does?
>
>
> Andrew DeYoung
> Carnegie Mellon University