利用randn函数产生5*4的均值为0,方差为2的高斯分布的随机数
时间: 2024-02-01 11:14:54 浏览: 22
可以使用Python中的NumPy库中的random模块的randn函数来生成符合高斯分布的随机数。代码如下:
```python
import numpy as np
# 生成5x4的随机数矩阵,均值为0,方差为2
arr = np.random.randn(5, 4) * np.sqrt(2)
print(arr)
```
输出结果为:
```
[[ 0.07626949 -0.51417518 -1.68210862 -0.8506313 ]
[-0.50080261 -0.03138047 -0.03351029 -1.17222368]
[ 1.05579855 0.88565761 -0.08101442 0.05040363]
[-0.26060254 -0.80842775 -0.57806503 -0.21950399]
[ 0.06889456 0.93077525 -1.04700734 -1.52620115]]
```
其中,np.random.randn(5, 4)生成一个5行4列的矩阵,每个元素都是从标准正态分布中随机采样得到的;而 * np.sqrt(2)是为了将标准正态分布转换为均值为0,方差为2的高斯分布。
相关问题
Matlab 利用randn函数产生5*4的均值为0,方差为2的高斯分布的随机数
可以使用以下代码生成符合要求的随机数:
```
mu = 0; % 均值
sigma = sqrt(2); % 标准差
r = mu + sigma * randn(5, 4); % 生成随机数
```
其中,`mu`为均值,`sigma`为标准差,`randn`函数生成符合标准正态分布(均值为0,标准差为1)的随机数,再乘以`sigma`加上`mu`即可得到符合要求的随机数。生成的随机数存储在`r`中,是一个5行4列的矩阵。
均值为0方差为0.5的高斯白噪声
生成均值为0方差为0.5的高斯白噪声可以使用Matlab中的`randn`函数。`randn`函数可以生成服从标准正态分布(均值为0,方差为1)的随机数。我们可以通过简单的变换,生成均值为0方差为0.5的高斯白噪声。
具体实现代码如下:
```matlab
% 生成均值为0,方差为0.5的高斯白噪声
noise = sqrt(0.5) * randn(1, N);
```
其中,`N`为生成随机数的数量,可以根据需要进行调整。