2012-10-29 103 views
0

该程序应该在绘图图上放置泊松分布。但是当我运行它没有出现。我试图重新排列代码,但它告诉我,x和y不在同一维...直方图上的泊松分布

有人可以弄明白吗?

from numpy import * 
from scipy.special import gamma 
import pylab 
import matplotlib.pyplot 
mu = 70 
counts = range(45,101,1) 
for counts in range(46,96,1): 

p = exp(-mu) * mu**counts/gamma(counts +1) 
pylab.plot(counts,p) 


pylab.show() 

回答

0

您正在使用伽玛功能...我相信你应该用阶乘相反,由于泊松分布是P = e^(-L) * L^k/k!

你可能已经抓住了伽玛功能与表达的Gamma分布,其与泊松分布有关。

+0

啊,没关系。我对SciPy不熟悉......我看到伽玛(k + 1)与阶乘(k)相同。 – OrangeWombat

0

您使用您的 'X' 变量作为迭代变量:

counts = range(45,101,1) 
print "'counts' before for loop:",counts 
for counts in range(46,96,1): 
    pass 
print "'counts' after for loop:",counts 

计数已重新分配至95