用表达式替换索引变量

时间:2016-11-17 13:48:07

标签: python sympy

我的总和超过A[i],并希望将其更改为B[i] / 2以上的总和。

我可以将它改为B[i]这样的总和:

from sympy import *
from sympy.abc import *
A = IndexedBase('A')
B = IndexedBase('B')
SA = Sum(A[i], (i, a, b))
SB = SA.subs(A, B)

但我想对

的效果做些什么
SB2 = SA.subs(A,B/2)

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

解决方案是使用replace代替subs。我还没有完全理解这些差异,但在Difference between replace and subs?

中可以找到更多信息。
SB.replace(A[i], B[i]/2)

返回

Sum(B[i]/2, (i, a, b))