2016-12-29 66 views
2

我不能在python整合此(1/1 + T))+( - 1/EXP(t))的[0,np.inf]我不能整合數學範圍錯誤原因

import numpy as np 
from math import exp 
from scipy.integrate import quad 

print(quad(lamba t: (1/1+t))+(-1/exp(t)),0,np.inf) 

它必須表現出歐拉恆

This is what i want to integrate

+0

有兩件事:'labda' sould是'lambda'; (1/1 + t)= 1 + t'而不是'(1 /(1 + t))'。 –

+0

你可以編輯你的文章,以添加完整的跟蹤? –

+0

@hiroprotagonist評論前請仔細閱讀。在等式(「膠乳版本」)中,它是「-exp(-x)」,嚴格等於'-1/exp(t)'。 '-exp(t)'是錯誤的。 –

回答

1

順便說一句,結合成爲一體,你將永遠不會有歐拉常數。

歐拉常數定義爲(抱歉,我不能發表圖片):

http://imgur.com/W5brbW4

所以,你有你的lambda功能更改爲以下:

import numpy as np 
from math import exp 
from scipy.integrate import quad 
f = lambda t: 1/t * (1/(1+t) - exp(-t)) 

In [21]: quad(f, 0.0, np.inf) 
Out[21]: (0.5772156649015537, 3.613579096292482e-10) 

結果0.5772156649015537這是歐拉常數的值。

+0

如此評論!!你解決了我的問題 – Davidmp11

0

你寫lamba代替lambda,這應引起SyntaxError

此外,閱讀你的公式,你傳遞給函數而應是:

lambda t: 1/(1+t) - exp(-t) 

試着改變你的最後一行:

print(quad(lambda t: (1/(1+t) - exp(-t)), 0, np.inf))