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 は私が望むように動作します。

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 に答える