0

Mathematica でタプル値関数をどのように作成して微分を実行しますか。

より具体的には、次の機能があります。ここでR、実線を示します

f:R^2 -> R^3

g:R^3 -> R^3 

h: R^3 -> R^1

これらの関数 k:R^2 -> R^1 の構成を検討したい、つまり k= h(g(f(x,y))) と導関数 k_x、k_y、k_xx、k_yy、k_xy を見つけたい

Mathematica でこれを行うにはどうすればよいですか?

4

1 に答える 1

1

f,g,h の式を持っていないと仮定していますが、f,g,h の導関数に関して合成の導関数が必要です。

次のような定義を使用して、常に問題を単一値関数に減らすことができますf[x_,y_] := {f1[x,y],f2[x,y],f3[x,y]}

例えば:

f[x_, y_] := Through[{f1, f2, f3}[{x, y}]]
g[x_, y_, z_] := Through[{g1, g2, g3}[{x, y, z}]]

D[h @@ g @@ f[x, y], x]

結果:

(Derivative[{1, 0}][f3][{x, y}]*Derivative[{0, 0, 1}][g3][{f1[{x, y}], f2[{x, y}], f3[{x, y}]}] + 
   Derivative[{1, 0}][f2][{x, y}]*Derivative[{0, 1, 0}][g3][{f1[{x, y}], f2[{x, y}], f3[{x, y}]}] + 
   Derivative[{1, 0}][f1][{x, y}]*Derivative[{1, 0, 0}][g3][{f1[{x, y}], f2[{x, y}], f3[{x, y}]}])*
  Derivative[0, 0, 1][h][g1[{f1[{x, y}], f2[{x, y}], f3[{x, y}]}], g2[{f1[{x, y}], f2[{x, y}], f3[{x, y}]}], 
   g3[{f1[{x, y}], f2[{x, y}], f3[{x, y}]}]] + 
 (Derivative[{1, 0}][f3][{x, y}]*Derivative[{0, 0, 1}][g2][{f1[{x, y}], f2[{x, y}], f3[{x, y}]}] + 
   Derivative[{1, 0}][f2][{x, y}]*Derivative[{0, 1, 0}][g2][{f1[{x, y}], f2[{x, y}], f3[{x, y}]}] + 
   Derivative[{1, 0}][f1][{x, y}]*Derivative[{1, 0, 0}][g2][{f1[{x, y}], f2[{x, y}], f3[{x, y}]}])*
  Derivative[0, 1, 0][h][g1[{f1[{x, y}], f2[{x, y}], f3[{x, y}]}], g2[{f1[{x, y}], f2[{x, y}], f3[{x, y}]}], 
   g3[{f1[{x, y}], f2[{x, y}], f3[{x, y}]}]] + 
 (Derivative[{1, 0}][f3][{x, y}]*Derivative[{0, 0, 1}][g1][{f1[{x, y}], f2[{x, y}], f3[{x, y}]}] + 
   Derivative[{1, 0}][f2][{x, y}]*Derivative[{0, 1, 0}][g1][{f1[{x, y}], f2[{x, y}], f3[{x, y}]}] + 
   Derivative[{1, 0}][f1][{x, y}]*Derivative[{1, 0, 0}][g1][{f1[{x, y}], f2[{x, y}], f3[{x, y}]}])*
  Derivative[1, 0, 0][h][g1[{f1[{x, y}], f2[{x, y}], f3[{x, y}]}], g2[{f1[{x, y}], f2[{x, y}], f3[{x, y}]}], 
   g3[{f1[{x, y}], f2[{x, y}], f3[{x, y}]}]]
于 2013-01-10T08:13:14.623 に答える