2016-12-29 6 views
2

数学の範囲エラーの原因(1/1 + T))+統合することができません( - 1/EXP(T))[0、np.inf]私はpythonでこれを統合することはできません

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

2つのもの: 'labda'は' 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

定数あなたがSyntaxErrorを上げるべきか、lambdaの代わりにlambaを書い示さなければなりません。ほかに

、あなたの方程式を読んで、あなたが渡す関数は、むしろ次のようになります。

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

にあなたの最後の行を変更してみてください:この一体型であなたが持っていることは決してありません、ちなみに

print(quad(lambda t: (1/(1+t) - exp(-t)), 0, np.inf)) 
関連する問題