mathematica中的系列导数

时间:2012-12-28 20:34:15

标签: wolfram-mathematica mathematical-expressions

我有一个类似的公式:

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

我想计算衍生物:

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

我怎样才能在mathematica中做到这一点?

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

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

2 个答案:

答案 0 :(得分: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} *)

答案 1 :(得分: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]被视为变量。