我正在编写一个计算幂级数的程序sum_{m=0}{oo} a[m]x^m,其中a[m]递归定义:a[m]=f(a[m-1])。我生成符号如下:
a = list(sympy.symbols(' '.join([('a%d' % i) for i in range(10)])))
for i in range(1, LIMIT):
a[i] = f_recur(a[i-1], i-1)
Run Code Online (Sandbox Code Playgroud)
a0,a1,...,a9这让我可以使用来引用符号a[0],a[1],...,a[9],并且是由 给出的a[m]函数。a[m-1]f_recur
现在,我希望将求和代码编写如下:
m, x, y = sympy.symbols('m x y')
y = sympy.Sum(a[m]*x**m, (m, 0, 10))
Run Code Online (Sandbox Code Playgroud)
但是,m不是整数,因此a[m]会引发异常。
在这种情况下,符号存储在列表中,您将如何对求和进行编码?谢谢你的帮助!
小智 5
SymPy被设计为带有符号Sum索引的总和。你想要一个具体索引为 0, ... 9 的总和。这可能是 Python 的sum
y = sum([a[m]*x**m for m in range(10)])
Run Code Online (Sandbox Code Playgroud)
或者,从性能的角度来看哪个更可取(相关问题)
y = sympy.Add(*[a[m]*x**m for m in range(10)])
Run Code Online (Sandbox Code Playgroud)
无论哪种情况,m都不是符号而是整数。
| 归档时间: |
|
| 查看次数: |
2443 次 |
| 最近记录: |