import numpy as np
from matplotlib import pyplot as plt
# 定义x的取值范围
# print(x) # -99-99
x = np.arange(-100, 100)
# 闭区间[a,b]上每个变量出现的概率相等
def uniform(x, a , b):
# prob的取值要么是1/(b-a),要么是0
prob = [1/(b-a) if a <= v and v <= b else 0 for v in x]
# 返回x,prob,以及随机变量出现概率的均值和方差
return x, prob, np.mean(prob), np.std(prob)
# 给定两个区间,且这两个区间位于(-100, 100)内
list = [(-50, 50), (20, 30)]
for li in list:
a, b = li[0], li[1]
x, prob, m, s = uniform(x, a, b)
# mu代表均值u,sigma代表标准差
plt.plot(x, prob, label=r'$\mu=%.2f,\ \sigma=%.2f$' %(m ,s))
# 画出两个子区间均匀分布的图形
plt.legend()
plt.savefig('./uniform.png')
plt.show()
均匀分布
最新推荐文章于 2024-11-20 18:07:01 发布