2017-10-11 280 views
0

我写下面的代码使用二项分布CDF(通过使用scipy.stats.binom.cdf)来估计不超过100抛出的概率,其中k = 0,10,20,30,40,50,60,70,80,90,100. 然后我尝试使用hist()来绘制它。二项分布CDF使用scipy.stats.binom.cdf

import scipy 
import matplotlib.pyplot as plt 
def binomcdf(): 
    p = 0.5 
    n = 100 
    x = 0 
    for a in range(10): 
     print(scipy.stats.binom.cdf(x, n, p)) 
     x += 10 

plt.hist(binomcdf()) 
plt.show() 

,但我不知道为什么我的阴谋返回空,我收到以下错误,谁能帮助请!

TypeError: 'NoneType' object is not iterable

回答

1

我会将每个关联x的x和相应的cdf输出保存到列表中,然后返回该列表。然后使用列表中的数据进行绘图。

+0

你可以请编辑你的问题,并在代码段添加你的逻辑,因为我是非常新的python,所以我需要代码明智的建议请 – Hazmat

+0

像'mylist = []' –

2

您打印了您的值,但未返回它们。默认返回值是None,这会产生您的错误。

+0

我应该返回什么?甚至当我在函数的最后添加return时,我也会得到相同的错误! – Hazmat

+0

@Hazmat:你想用'hist()'来绘制什么?你应该回报。 –