Scipy没有解决大数字的积分问题

时间:2014-05-17 14:32:27

标签: python scipy

以下是我正在尝试运行的简单代码:

from scipy.integrate import quad

def integrand1(p, n, x, E, S):
    return (p**(x+1))*((1-p)**(n-x))
def integrand2(p, n, x, E, S):
    return (p**(x))*((1-p)**(n-x))

E = 0.789
S = 0.733
n = 8928  # This number is already too big to compute. If you change it to just 89 works.
x = 2325  # This number is already too big to compute. If you change it to just 23 works.

I1 = quad(integrand1, 1-E, S, args=(n,x,E,S))
I2 = quad(integrand2, 1-E, S, args=(n,x,E,S))
I = I1[0]/I2[0]
print I

基本上是两个积分之间的划分。它适用于“n”和“x”的值,最多可达数百。在那之后,成千上万,结果开始变为零,女巫不是预期的。由于有很多权力,我想在某处有一些溢出,但由于没有消息,我无法发现什么是错的。有没有人知道可能出现的问题?

由于

0 个答案:

没有答案