如何定义部分数据时,如何让mathematica执行求和?

bde*_*caf 5 wolfram-mathematica sum

我有这样的总和:

Sum[1 + x[i], {i, 1, n}]
Run Code Online (Sandbox Code Playgroud)

Mathematica不再简化它了.我需要做什么才能将其翻译成:

n + Sum[x[i],{i,1,n}]
Run Code Online (Sandbox Code Playgroud)

Arn*_*ing 10

也许这个?

Distribute[Sum[1 + x[i], {i, 1, n}]]
Run Code Online (Sandbox Code Playgroud)

返回:

n + Sum[x[i], {i, 1, n}]
Run Code Online (Sandbox Code Playgroud)


Sza*_*lcs 5

AFAIK Sum根本不会给出部分答案.但您可以手动或半自动地分离添加剂部分.举个例子,

In[1]:= sigma + (x[i] - X)^2 // Expand

Out[1]= sigma + X^2 - 2 X x[i] + x[i]^2
Run Code Online (Sandbox Code Playgroud)

对于包含x[i]但不知道任何内容的部分,我们无能为力x[i],因此我们将其余部分分开:

In[2]:= Plus @@ Cases[%, e_ /; FreeQ[e, x[i]]]

Out[2]= sigma + X^2

In[3]:= Sum[%, {i, 1, n}]

Out[3]= n (sigma + X^2)
Run Code Online (Sandbox Code Playgroud)

不相关:永远不要使用以大写字母开头的符号来避免与内置函数冲突. N已经有了意义,你不应该把它当作变量.


Hei*_*ike 5

Thread例如,使用快速而肮脏的方式

Thread[Sum[Expand[sigma + (x[i] - X)^2], {i, 1, n}], Plus, 1]
Run Code Online (Sandbox Code Playgroud)