根据中心极限定理利用均匀分布产生正态分布------Python代码
程序员文章站
2022-05-22 15:51:51
...
在本示例中,选择a=0,b=1,这个均匀分布的方差等于(1/12)。
#定义高斯采样函数
def gauss_rand():
n = 100;
#均匀产生100个0~1之间的随机数
u = np.random.uniform(0,1,n)
r = (sum(u) - n * 0.5) / np.sqrt(n/ 12);
return r
#使用高斯采样函数进行采样
num = 10000;
for i in range(num):
x[i] = gauss_rand()
#绘制直方图,显示随机变量的概率分布
bins = np.arange(-10, 10, 0.1)
plt.hist(x, bins=bins)
plt.show()
对应的matlab代码:利用均匀分布和中心极限定理产生正态分布(高斯分布)
上一篇: 如何用均匀分布随机数生成正态分布随机数
下一篇: Oracle数据库分页