Thanks to the feedback, I'll just follow up and provide my final
solution (I chose the easiest method, that is, least amount of typing ;)
eq : s*x^3 + t*x^2 +u*x + v $
define( f(x), eq ) $
define( df(x), diff( eq, 'x ) ) $
edA-qa mort-ora-y wrote:
> I need a way to define a function and its derivative as functions. That
> is, I want to accomplish what one might expect the following would do:
>
> f(x) := q*x^2 + r;
> df(x) := diff( f('x), 'x );
>
> But if you do this the x variable in df(x) is in no way related to the x
> variable in f(x). If you try this:
>
> df(x) := diff( f(x), x );
>
> It fails as obviously you are differentiating with whatever is passed to
> df(x), not the symbolic variable x anymore.
>
> I even tried using an intermediary:
>
> eq : q*x^2 + r;
> f(x) := eq;
> df(x) := diff( eq, 'x );
>
> But this also didn't work.
>
> So, how do I do this, that is, create a function and then create its
> derivative (also as a function).
>
>
--
edA-qa mort-ora-y
Idea Architect
http://disemia.com/