用python通过图像验证二项分布B(n1,p)+B(n2,p)=B(n1+n2,p)

本文使用Python通过实例验证二项分布的结合律,即两个独立的二项分布B(n1,p)和B(n2,p)相加等于新的二项分布B(n1+n2,p)。通过numpy生成数据,并利用matplotlib进行可视化,重点在于理解画图的技巧。" 123675047,9627219,Java多线程实践:线程同步与银行账户操作,"['Java', '多线程', '并发控制']
摘要由CSDN通过智能技术生成

通过numpy生成二项分布,记录数据,然后用matplotlib画图。主要是掌握一些画图的基本函数。

import numpy as np
from matplotlib import pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']


#计算出现的次数
def count(temp):
    u = np.unique(temp)
    cnt = []
    dic = {}
    for i in temp:
        dic[i] = dic.get(i, 0) + 1
    for i in u:
        cnt.append(dic[i])
    return u, cnt


#生成B(15,0.3),B(10,0.3),B(25,0.3)
n1 = 15
n2 = 10
n3 = n1 + n2
b1 = np.random.binomial(n1, 0.3, 10000)
b2 = np.random.binomial(n2, 0.3, 10000)
b3 = np.random.binomial(n3, 0.3, 10000)
u1, cnt1 = count(b1)
u2, cnt2 = count(b2)
u3, cnt3 = count(b3)

#画B(15,0.3)的图像
plt.bar(u1, height=cnt1, width=0.5, color='blue')
plt.xticks(np.arange(0, n1+1, 1))
plt.title(u'二项分布B(15,0.3)')
plt.ylabel(u'出现次数(共10000次)')
for x, y in zip(u1, cnt1):
    plt.text(x, y+0.1, '%
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值