小编Dyl*_*lms的帖子

Python中使用数值积分的拉普拉斯变换精度非常差

我编写了一个函数来计算函数的拉普拉斯变换scipy.integrate.quad。它不是一个非常复杂的函数,目前在 Erlang 分布的概率密度函数上表现不佳。

我在下面列出了我的所有工作。我首先计算拉普拉斯变换,然后计算逆变换,以便将其与 Erlang 的原始 pdf 进行比较。我用mpmath这个。这mpmath.invertlaplace不是问题,因为它成功地将封闭式拉普拉斯变换非常完美地转换回原始 pdf。

请帮助我理解我的数值拉普拉斯变换的问题是什么。我收到以下错误,但无法解决它。

IntegrationWarning: The occurrence of roundoff error is detected, which prevents the requested tolerance from being achieved. The error may be underestimated. a=0,b=np.inf,limit=limit)[0]

阴谋

在此输入图像描述

代码

import numpy as np
import matplotlib.pyplot as plt
import math as m
import mpmath as mp
import scipy.stats as st
from scipy.integrate import quad


def get_laplace(func,limit=10000):
    
    '''
    Returns laplace transfrom function
    '''
    
    def laplace(s):
        '''Numerical laplace transform'''
        # Seperate into …
Run Code Online (Sandbox Code Playgroud)

python scipy complex-numbers numerical-integration mpmath

8
推荐指数
1
解决办法
2050
查看次数