Почему суммирование и интеграция дают разные результаты? - PullRequest
1 голос
/ 22 марта 2019

Я думаю, что-то неправильно понимаю. Я думаю, что напечатанные результаты этого фрагмента кода должны быть равны, но они не являются:

import sympy
x = sympy.Symbol('x')
summation = sympy.summation(sympy.exp(-x), (x, 0, sympy.oo))
print(summation)  # 1/(-exp(-1) + 1)
integration = sympy.integrate(sympy.exp(-x), (x, 0, sympy.oo))
print(integration)  # 1

Можете ли вы объяснить разницу между summation и integrate?

Ответы [ 2 ]

3 голосов
/ 22 марта 2019

Ничего плохого.

Если вы заметите, что суммация является суммой геометрической последовательности, вы обнаружите, что она отличается от интеграции.

Суммирование:

sum exp(-x)
= sum exp(-1)^x
= exp(-1)^0 / (1 - exp(-1))
= 1 / (1 - exp(-1))

Интеграция:

int exp(-x) dx
= - [ exp(-x) ]
= - [ exp(-infinity) - exp(0) ]
= - [ 0 - 1 ]
= 1

Извините.StackOverflow не делают LaTeX.

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

Функция summation SymPy суммирует выражение с целыми числами в данном диапазоне, заменяя переменную:

summation(sympy.exp(-x), (x, 0, sympy.oo))

Эквивалентно

exp(0) + exp(-1) + exp(-2) + ...

, что приблизительно равно:

1      + 0.37    + 0.14    + ...

Интеграция - это другая функция, которую можно интерпретировать как вычисление площади, ограниченной кривой, сгенерированной функцией, и осью x (здесь она затенена оранжевым цветом):

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...