Wolfram mathematica 如何替换聚合表达式

Wolfram mathematica 如何替换聚合表达式,wolfram-mathematica,Wolfram Mathematica,例如,我有一个符号 1/n*Sum[ee[k] + 1, {k, j, n}]^2 我想把Sum[ee[k],{k,j+1,n}]替换为x。我该怎么做?谢谢你的帮助 1/N*Sum[ee[k]+1,{k,j,N}]^2/。和[ee[k]+1,{k,j,N}]->x 这不管用吗,还是我误解了?顺便说一下,你不应该用N作为变量。这是一个Mathematica函数。1/N*Sum[ee[k]+1,{k,j,N}]^2/。和[ee[k]+1,{k,j,N}]->x 这不管用吗,还是我误解了?顺便说一下

例如,我有一个符号

1/n*Sum[ee[k] + 1, {k, j, n}]^2

我想把
Sum[ee[k],{k,j+1,n}]
替换为
x
。我该怎么做?谢谢你的帮助

1/N*Sum[ee[k]+1,{k,j,N}]^2/。和[ee[k]+1,{k,j,N}]->x


这不管用吗,还是我误解了?顺便说一下,你不应该用N作为变量。这是一个Mathematica函数。

1/N*Sum[ee[k]+1,{k,j,N}]^2/。和[ee[k]+1,{k,j,N}]->x


这不管用吗,还是我误解了?顺便说一下,你不应该用N作为变量。这是一个Mathematica函数。

您可以使用递归关系求和。例如:

f[j] := f[j + 1] + (ee[j] + 1);

1/N f[j]^2 /. f[j + 1] -> x  
x/. (x-1)->y  
出去

编辑

基于您发布的几个问题,我认为您在某种程度上误解了Replace[]命令的作用。它不是基于“代数”的,而是基于“模式”。它不理解也不使用比已经定义的代数变换更多的代数变换(由您或Mma本身定义)

例如:

f[j] := f[j + 1] + (ee[j] + 1);

1/N f[j]^2 /. f[j + 1] -> x  
x/. (x-1)->y  
不会匹配任何东西。但是

(x-1) /. x->y-1  
将给您(y-2),因为模式匹配

此外:

x = 3;
(x - 1) /. x -> y - 1  

将为您提供2,因为x是在可能的匹配之前计算的,并且模式中的x也是经过计算的(只需粘贴、执行并查看符号颜色)。

您可以使用循环关系求和。例如:

f[j] := f[j + 1] + (ee[j] + 1);

1/N f[j]^2 /. f[j + 1] -> x  
x/. (x-1)->y  
出去

编辑

基于您发布的几个问题,我认为您在某种程度上误解了Replace[]命令的作用。它不是基于“代数”的,而是基于“模式”。它不理解也不使用比已经定义的代数变换更多的代数变换(由您或Mma本身定义)

例如:

f[j] := f[j + 1] + (ee[j] + 1);

1/N f[j]^2 /. f[j + 1] -> x  
x/. (x-1)->y  
不会匹配任何东西。但是

(x-1) /. x->y-1  
将给您(y-2),因为模式匹配

此外:

x = 3;
(x - 1) /. x -> y - 1  

将为您提供2,因为x在可能的匹配之前进行计算,并且图案中的x也进行了计算(只需粘贴、执行并查看符号颜色)。

您注意到替换中的
j+1
了吗?您注意到替换中的
j+1
了吗?