大家好,我为班级分配以下代码-
我被要求绘制具有指数分布的随机变量的M = {1000,10000,1000000}向量的归一化直方图,并为足够大的向量查看中心极限定理。
对于1000(m = 1000)的数组,我得到一个直方图,y轴<1
但是,当我上升到10000及以上的数组时,我得到一个直方图,y轴> 1,x轴收缩。
这当然在数学上仍然是正确的,但是我想让y轴在
之间
y = [0,1]
我尝试过density = True,并通过plt.hist进行了尝试,但没有成功,我也尝试了具有数组大小的权重解决方案,该方法已在此处发布,但未奏效。 :({10000 1000
并提出建议?
我为M = 1000和M = 10000的数组添加了直方图的图片
import random
import math
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.mlab as mlab
import seaborn as sns
def questb(M):
Lambda=0.1
L=5
N=500
histgram=[]
Sum=0
w=0
temp=[]
for m in range(0,M):
for i in range (0, N//L):
for j in range (0,5):
temp.append((-1/Lambda)*math.log(random.uniform(0.0,1.0)))
w=(min(temp))
Sum=Sum+(w-2)
w=0
temp=[]
Sum=(L*1.0/M*1.0)*math.sqrt(N*1.0/L*1.0)*Sum
histgram.append(Sum)
Sum=0
return histgram
M=10000
thefinalhistgram=questb(M)
sns.set(color_codes=True)
sns.distplot(thefinalhistgram);
plt.title(M)
plt.show()