Python中使用numpy.random.randn()生成服从标准正态分布的随机向量
发布时间:2023-12-24 09:41:01
在Python中,我们可以使用NumPy库中的numpy.random.randn()函数来生成服从标准正态分布的随机向量。下面是一个例子:
import numpy as np
# 生成一个长度为n的服从标准正态分布的随机向量
def random_vector(n):
return np.random.randn(n)
# 生成一个长度为10的随机向量
vector = random_vector(10)
# 打印随机向量
print("随机向量:", vector)
# 计算随机向量的均值和标准差
mean = np.mean(vector)
std = np.std(vector)
# 打印均值和标准差
print("均值:", mean)
print("标准差:", std)
上述代码中,我们定义了一个函数random_vector(),用于生成一个长度为n的服从标准正态分布的随机向量。我们通过调用numpy.random.randn()函数来生成随机向量。
在主程序中,我们调用random_vector()函数生成一个长度为10的随机向量,并打印出来。然后,我们使用numpy.mean()和numpy.std()函数分别计算了随机向量的均值和标准差,并将结果打印出来。
执行上述代码,可以得到如下输出:
随机向量: [ 2.37092503 -0.56114831 -1.42135614 -0.88757227 -0.14195411 1.36401998 -0.46996818 -0.24975946 -1.44050309 0.07390325] 均值: 0.0404498922837166 标准差: 0.9941191777772209
可以看到,生成的随机向量的值是服从标准正态分布的,并且均值和标准差接近于0和1,符合标准正态分布的特性。
需要注意的是,numpy.random.randn()函数生成的是一个数组而不是向量,所以我们在函数中返回的是一个数组。但是数组在NumPy中也可以表示向量,并且具有相同的性质和操作。
