2017-11-01 24 views
0

私は逆ラプラス変換をライブラリに頼らずに手動で計算したかったのです。具体的には、私はバイラテラルラプラス逆変換を計算したかったのです。私は自分の理解を確認したいと思って、手動で次のように試しましたが、答えに合っていません。どこが間違っていますか?逆ラプラス変換を手作業で積分する

1 /(s-a)のラプラス変換を計算します。私は答えがであることを知っています。私の試み:

a = 2 
t = 0.5 
f = lambda s: 1/(s-a) 
def g(u): 
    gammah=1 
    s = complex(real=gammah,imag=u) 
    return (f(s)).real*np.cos(s.imag*t) * 2*np.exp(s.real*t)/pi 

import spicy as sp 
import numpy as np 

sp.integrate(g,0,np.inf,limit=10000) 

が私を与える-0.9999999

が、私は答えはexpは= 2.71 ...

答えて

0

主なエラーは、数学的であることを知っています。 Wikipediaが言うように、

統合はγが

F(S)の全ての特異点の実部よりも大きくなるように、複素平面における垂直線のRe(S)=γに沿って行われ関数F(s)= 1 /(sa)はaの特異点を持ちます。この例では2です。 γ= 3 quadの出力と、例えば2よりも大きくするようにγニーズ予想通り

(2.718278877362764, 2.911191228083254e-06) 

あります。あなたのimport spicyなどはおそらく動作しません。正しいインポート構文は

from scipy.integrate import quad 
# .... 
quad(g, 0, np.inf, limit=10000) 
です
関連する問題