1

我有一个等式:

y= Sum[ i x[i] , {i,10}]

我想计算导数:

D[y,x[i]] -> = i 

我怎么能在数学中做到这一点?

我可以做到D[y, x[3]],它给了我 3,但如果我输入D[y, x[i]]它返回 0,但我希望 i。

有没有办法在 Mathematica 中定义上述系列的参数导数?

4

2 回答 2

1

无论如何,可能不是考虑问题的最佳方式:

构建变量列表:

vars = Table[Symbol["x" <> ToString[i]], {i, 1, 10}]
(* {x1, x2, x3, x4, x5, x6, x7, x8, x9, x10} *)

建立你的功能:

expr = Dot[Range[10], vars]
(* x1 + 10 x10 + 2 x2 + 3 x3 + 4 x4 + 5 x5 + 6 x6 + 7 x7 + 8 x8 + 9 x9 *)

取导数:

D[expr, #] & /@ vars 
(* {1, 2, 3, 4, 5, 6, 7, 8, 9, 10} *)
于 2012-12-28T21:30:06.667 回答
1

这里有几点需要考虑。

  1. 该符号x_3并不表示索引为 3 的 x。它表示 x_ 的三倍。您应该改用下标[x,3]。

  2. 你的 y 是: Sum[n * Subscript[x, n], {n, 1, 5}]

  3. 您现在可以找到偏导数: D[Sum[n * Subscript[x, n], {n, 1, 5}], Subscript[x, 2]] 给出 2。

  4. D[Sum[Subscript[x, n], {n, 1, 5}], Subscript[x, j]]给出 0。原因是它Subscript[x, j]被认为是一个变量。

于 2012-12-28T21:45:40.920 回答