求和中的符号 [sympy]
例如,我想解决
<子>(来源:texify.com)
这是我的尝试过:
from sympy import var, solve
x = var('x')
f = lambda N: sum( n**2 for n in range(1,N+1) )
f(x)
# output:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 1, in <lambda>
TypeError: range() integer end argument expected, got Add.
For example, I'd like to solve
(source: texify.com)
Here's what I tried:
from sympy import var, solve
x = var('x')
f = lambda N: sum( n**2 for n in range(1,N+1) )
f(x)
# output:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 1, in <lambda>
TypeError: range() integer end argument expected, got Add.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
Python 的内置
range()
函数不支持符号求值。尝试使用 SymPy 的sum()
函数来代替:请注意,lambda 表达式可能是不必要的,具体取决于您实际想要实现的目标:
您仍然需要忽略复杂的结果。
Python's built-in
range()
function isn't aware of symbolic evaluation. Try using SymPy'ssum()
function instead:Note that the lambda expression might be unnecessary, depending on you actually want to achieve:
You'll still have to ignore the complex results.
尝试求和函数
Try the summation function