欢迎访问宙启技术站
智能推送

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中也可以表示向量,并且具有相同的性质和操作。