вычислить Интеграл в python


Мне нужно вычислить Интеграл в python.

Я импортировал sympy.

 g(a,z) = integral_from_z_to_inf of ( t^(a-1) * e^(-1))

В python:

 x,a,z = symbols('x a z')
 g = integrate(x**(a-1) * exp(-x), z, oo)

Я получил ошибку:

 ValueError: Invalid limits given: (z, oo)

Я позвал:

b,c,mean,variance  = S('b c mean variance'.split())

ff1 = b*g((1+c), lb / b)  // lb is a constant, b and c are unknown var that I need to solve. and mean and variance are constants. 

Я получил ошибку:

TypeError: 'Add' object is not callable
1 2

1 ответ:

Я работаю на Python 2.7, но ваши проблемы, похоже, недостаточно внимательно читают документацию. В документах говорится:

Var может быть:

  • Символ-неопределенное интегрирование

  • Кортеж (символ, а) - неопределенное интегрирование с результатом

    Задается заменяющим символом

  • Кортеж (символ, a, b) - определенное интегрирование

Вы хотите выполнить последнее, поэтому вам нужно использовать кортеж.

Команда, которую вы ищете:

import sympy as sym


x, a, z = sym.symbols('x a z')
g = sym.integrate(x**(a-1) * sym.exp(-x), (x, z, sym.oo))