Симпсовое суммирование последовательности - PullRequest
0 голосов
/ 07 марта 2019

У меня есть простая последовательность значений в Python sympy.Я хочу суммировать значения последовательности.Я пришел с решением, но оно довольно неуклюже.Есть ли способ сделать это более естественно?

#!/usr/bin/env python

from sympy import summation, sequence, pprint
from sympy.abc import x

s = sequence(x, (x, 1, 10))
print(s)
pprint(s)

print(summation(s.formula, (x, s.interval.left, s.interval.right)))

1 Ответ

2 голосов
/ 07 марта 2019

За документы , элементы в SeqFormula можно перечислить с list:

In [53]: list(s)
Out[53]: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

Таким образом, сумма может быть оценена с помощью

In [54]: sum(list(s))
Out[54]: 55

Конечно, это будет работать только с конечными последовательностями.


Другой способ записать сумму:

In [115]: summation(s.formula, (x, s.start, s.stop))
Out[115]: 55
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...