1

在微分函数时,我通常不清楚,在哪些情况下 maple 执行链微分,何时不执行。

让我们看一个例子:

f := (x, y) -> r(x)*M(y);
g := (x, y) -> h(x, f(x,y));
A := D[2](g);

然后A(a,b)给出只是

D[2](g)(a,b)

问题:为什么 Maple 不通过应用链式规则的定义来执行微分?我怎样才能让枫树这样做?

更令人费解的是,在这个更简单的示例中,maple 的行为如我所愿:

f := 'f';
g := (x, y) -> h(x, f(x,y));
A := D[2](g);

然后A(a,b)返回

D[2](h)(a, f(a, b))*D[2](f)(a, b)

也许这有助于解决问题......

4

1 回答 1

1

这有用吗?

restart:

f := (x, y) -> r(x)*M(y):
g := (x, y) -> h(x, f(x,y)):

#diff(g(x,y),y);
#convert(diff(g(x,y),y),D);

unapply(convert(diff(g(x,y),y),D),[x,y]);

              (x, y) -> D[2](h)(x, r(x) M(y)) r(x) D(M)(y)
于 2013-02-18T13:48:36.830 回答