如何在 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 中做到这一点?
如何在 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 中做到这一点?
我假设您没有 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}]}]]