MathGroup Archive 2009

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

Search the Archive

Re: Error when working with a derivative

  • To: mathgroup at smc.vnet.net
  • Subject: [mg104954] Re: [mg104947] Error when working with a derivative
  • From: Bob Hanlon <hanlonr at cox.net>
  • Date: Sun, 15 Nov 2009 05:53:55 -0500 (EST)
  • Reply-to: hanlonr at cox.net

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

Use Set ( = ) rather than SetDelayed ( := ) in the definition of DerivMuVaF

Clear[DerivMuVaF]

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

DerivMuVaF[1, 2]

5

Alternatively, use a temporary variable in a construct such as

Clear[DerivMuVaF]

DerivMuVaF[ex_, ey_] :=
 Module[{tex},
  D[MuVaF[tex, ey], tex] /. tex -> ex]

Note : Module is used to make the variable tex local to avoid any possibility of a naming conflict

DerivMuVaF[1, 2]

5


Bob Hanlon

---- Vicent <vginer at gmail.com> wrote: 

=============
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.  :-(

Thank you in advance for your answers!


--
Vicent Giner-Bosch



  • Prev by Date: Fyi, Listing of Mathematica 7 functions (1869 functions)
  • Next by Date: wavelet
  • Previous by thread: Re: Error when working with a derivative
  • Next by thread: Re: Error when working with a derivative