随机正态分布

本文采用Python库numpy生成随机正态分布。其中均值和方差均使用伪随机生成方式。

代码如下

import numpy as np
#使用np.eye(2)生成单位矩阵,然后乘以一个随机生成得均匀分布值组成单位矩阵得值
x0 = np.random.multivariate_normal(np.random.uniform(-50,50,2), np.eye(2)*np.random.uniform(8,30,2), 1000)
x1 = np.random.multivariate_normal(np.random.uniform(-50,50,2), np.eye(2)*np.random.uniform(2,10,2), 1000)
x=np.append(x0,x1,axis=0)
x2 = np.random.multivariate_normal(np.random.uniform(-50,50,2), np.eye(2)*np.random.uniform(5,20,2), 1000)
#numpy中append得用法
x=np.append(x,x2,axis=0)
#运行结果
print(x,type(x))
[[-15.22115145   3.83424832]
 [-24.63885883  -0.71833501]
 [-21.02391513   1.14661153]
 ...
 [ -1.49298452  48.85591815]
 [ -1.90203174  45.53668563]
 [  1.14156577  47.67014148]] <class 'numpy.ndarray'>
#将生成得图可视化
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号
plt.scatter(x0[:,0],x0[:,1])
plt.scatter(x1[:,0],x1[:,1])
plt.show()

python生成正态分布随机数 python随机生成正态分布函数_ico