数学の範囲エラーの原因(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)
それはオイラーが
数学の範囲エラーの原因(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)
それはオイラーが
オイラー定数。
オイラー定数が(すみません、私は画像を投稿することはできません)のように定義されます。
ですから、次のようにあなたの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
これはオイラー定数の値です。
コメントありがとうございます!あなたは私の問題を解決する – Davidmp11
定数あなたがSyntaxError
を上げるべきか、lambda
の代わりにlamba
を書い示さなければなりません。ほかに
、あなたの方程式を読んで、あなたが渡す関数は、むしろ次のようになります。
lambda t: 1/(1+t) - exp(-t)
にあなたの最後の行を変更してみてください:この一体型であなたが持っていることは決してありません、ちなみに
print(quad(lambda t: (1/(1+t) - exp(-t)), 0, np.inf))
2つのもの: 'labda'は' lambda'です。あなたのラテックス画像が示すように '(1/1 + t)= 1 + t'ではなく'(1 /(1 + t)) ' –
完全なトレースを追加するために投稿を編集できますか? –
@hiroprotagonistコメントを書く前に、より完全にお読みください。方程式( "ラテックスバージョン")では、それは '-exp(-x)'であり、厳密に '-1/exp(t) 'と等価です。 '-exp(t)'は間違っています。 –