python中的Gamma函数未显示我的预期

时间:2018-08-08 08:23:02

标签: python python-2.x division

我想绘制一个具有以下PDF特征的Levy分布:

enter image description here

下面是我的代码:

import matplotlib.pyplot as plt
from scipy.special import gamma
import numpy as np

def Levy(x, n, a):
    num1 = gamma((n+1)/2)
    den1 = (gamma(1/2))*(gamma(n/2))
    num2 = a**n
    den2 = ((x**2)+(a**2))**((n+1)/2)
    return (num1/den1)*(num2/den2)

t = np.linspace(0, 4, 500)

plt.plot(t, Levy(t, 2, 2))
plt.show()

但是该图向我返回了y = 0的水平线。

我知道我实现的方程式应该给我返回类似于高斯分布的东西。我也尝试在Wolfram Alpha上实现它,并且绘制出了我的期望。

我认为python代码中的问题可能是gamma函数,但我认为我已经以正确的方式使用了它。

请问有人可以帮我吗?

0 个答案:

没有答案