Re: Error when working with a derivative

• To: mathgroup at smc.vnet.net
• Subject: [mg104971] Re: [mg104947] Error when working with a derivative
• From: Richard Hofler <rhofler at bus.ucf.edu>
• Date: Sun, 15 Nov 2009 05:57:20 -0500 (EST)
• References: <200911140657.BAA18027@smc.vnet.net>

```Hi Vicent,

Here are three methods.

In[1]:= MuVaF[ex_,ey_]:=ex^2+ey^2+ex*ey+ex+ey;

In[9]:= D[MuVaF[ex,ey], ex]  (* so you can the symbolic expression *)
% /. {ex->1,ey->2}
Out[9]= 1 + 2 ex + ey
Out[10]= 5

In[11]:= deriv1 = D[MuVaF[ex,ey], ex]  (* so you can the symbolic
expression *)
deriv1 /. {ex->1,ey->2}
Out[11]= 1 + 2 ex + ey
Out[12]= 5

In[7]:= DerivMuVaF[ex_,ey_]:=Evaluate[D[MuVaF[ex,ey],ex]]

In[8]:= DerivMuVaF[1,2]
Out[8]= 5

Does this give you what you want?

Richard

-----Original Message-----
From: Vicent [mailto:vginer at gmail.com]
Sent: Saturday, November 14, 2009 1:57 AM
To: mathgroup at smc.vnet.net
Subject: [mg104971] [mg104947] Error when working with a derivative

Hello.

This is my first message to the list.

I work with Mathematica 7.0.0 on Windows.

I work with a multiple-variable function, say "MuVaF", and I want to
define a function which is the partial derivative with respect to one
of the variables. I tried with this:

MuVaF[ex_, ey_] := ex^2 + ey^2 + ex*ey + ex + ey

Then, if I try to derivate it with respect to "ex":

D[MuVaF[ex, ey], ex]

I get this:

1 + 2 ex + ey

Which sound OK to me. But if I try this:

DerivMuVaF[ex_, ey_] := D[MuVaF[ex, ey], ex]

And then this (trying to evaluate the function for a given point):

DerivMuVaF[1, 2]

I get an error message:

General::ivar: 1 is not a valid variable. >>

I think that's because Mathematica is understanding I am trying to
perform the derivative on "1"; it is expecting to get a variable and I
am giving a number instead. So, what's the right way to tell
Mathematica I want to work with the derivative function of a
previously defined function??

I guess the answer should be easy, but I haven't been able to find it
out by my own.  :-(