美文网首页
绘制中心极限定理

绘制中心极限定理

作者: b485c88ab697 | 来源:发表于2017-09-10 20:01 被阅读20次

    练习:中心极限定理

    #coding:utf-8
    #/usr/bin/python
    import numpy as np
    import matplotlib as mpl
    import matplotlib.pyplot as plt
    
    
    if __name__ == '__main__':
        mpl.rcParams['font.sans-serif'] = [u'SimHei']
        mpl.rcParams['axes.unicode_minus'] = False  # win正常显示中文设置
    
        t = 1000 #次数
        a = np.zeros(10000) #生成10000个0的数组
        for i in range(t):
            a += np.random.uniform(-5, 5, 10000)
        a /= t
        #for循环首先生成(-5,5)的10000个随机数加到a中,然后做t次,
        #最后的a每一维上的数都是加了1000个(-5,5)的随机数
        #然后除以t,得到这1000个随机数的平均值
        plt.figure(figsize=(5,5),facecolor='w')
        plt.hist(a,bins=30,color='b',alpha = 0.5,normed=True,label='均匀分布叠加')
        plt.grid()
        plt.legend(loc='upper right')
        plt.show()
    

    拓展

        lamda = 7
        p = stats.poisson(lamda)
        y = p.rvs(size=1000)#对p随机采样1000次
        mx = 30
        r = (0, mx)#直方图的宽度参数
        bins = r[1] - r[0]#均分多少份
        plt.figure(figsize=(15, 8), facecolor='w')
        plt.subplot(121)
        plt.hist(y, bins=bins, range=r, color='g', alpha=0.8, normed=1)
        t = np.arange(0, mx+1)
        plt.plot(t, p.pmf(t), 'ro-', lw=2)#取(0,30)的概率质量函数,也就是(0,30)中的数每一个数出现的次数
        plt.grid(True)
    
        N = 1000
        M = 10000
        plt.subplot(122)
        a = np.zeros(M, dtype=np.float)
        p = stats.poisson(lamda)
        for i in np.arange(N):
            a += p.rvs(size=M)#对p进行1000随机采样,每次采取10000个数字
        a /= N
        plt.hist(a, bins=20, color='g', alpha=0.8, normed=True)
        plt.grid(b=True)
        plt.show()
    

    相关文章

      网友评论

          本文标题:绘制中心极限定理

          本文链接:https://www.haomeiwen.com/subject/yqutsxtx.html