用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 个回答
6
我现在用的是Python 2.7,不过你的问题似乎是没有仔细阅读文档。文档里说:
var可以是:
一个符号 – 不定积分
一个元组(符号, a) – 带结果的不定积分
结果会用一个替换符号给出
一个元组(符号, 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))