Re: Issuing Function Calls within a Plot command

• To: mathgroup at smc.vnet.net
• Subject: [mg111528] Re: Issuing Function Calls within a Plot command
• From: David Reiss <dbreiss at gmail.com>
• Date: Wed, 4 Aug 2010 05:49:51 -0400 (EDT)
• References: <i38rbb\$cuq\$1@smc.vnet.net>

```Because you are differenciating with respect to a number.

The value of x in the argument of the plot function is substituted
first and then the argument is evaluated, effectively resulting in
attempting to differentiate your function evaluated at numerical
values  with respect to those numerical values.

Try the alternative

Plot[D[myFunction[z], z] /. z -> x, {x, 0, 5}]

or

Plot[Evaluate[D[myFunction[x], x] ], {x, 0, 5}]

to force the differentiation to take place first (since Plot has the
HoldAll attribute).

which will work.  However you may want to think through why you are
including the unevaluated differentiation within the Plot command
anyway: it will take place at each plot point and thus be quite
inefficient...

Hope this helps,

David

On Aug 3, 6:34 am, Andrew DeYoung <adeyo... at andrew.cmu.edu> 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?
>