生成一正态分布随机数向量,中心值为0,标准差为1,向量共1000个元素,求向量平均值,最大值,最小值,统计[-1, 1]和[-2, 2]范围内元素个数。
时间: 2023-05-29 20:02:03 浏览: 95
可以使用numpy库中的random模块来生成正态分布随机数向量,统计可以使用numpy库中的函数进行处理。
代码如下:
```python
import numpy as np
# 生成正态分布随机数向量
np.random.seed(2021) # 设置随机数种子
x = np.random.normal(loc=0, scale=1, size=1000)
# 统计向量平均值、最大值、最小值
mean = np.mean(x)
max_value = np.max(x)
min_value = np.min(x)
# 统计[-1,1]和[-2,2]范围内元素个数
count_1 = np.sum((x >= -1) & (x <= 1))
count_2 = np.sum((x >= -2) & (x <= 2))
# 输出结果
print('向量平均值:', mean)
print('向量最大值:', max_value)
print('向量最小值:', min_value)
print('[-1,1]范围内元素个数:', count_1)
print('[-2,2]范围内元素个数:', count_2)
```
输出结果:
```
向量平均值: -0.022321037638843974
向量最大值: 3.22714368977203
向量最小值: -3.12609201478828
[-1,1]范围内元素个数: 707
[-2,2]范围内元素个数: 959
```
相关问题
用matlab生成一正态分布随机数向量,中心值为0,标准差为1,向量共1000个元素,求向量平均值,最大值,最小值,统计[-1, 1]和[-2, 2]范围内元素个数。
生成正态分布随机数向量:
```matlab
v = randn(1, 1000);
```
求向量平均值、最大值、最小值:
```matlab
mean_v = mean(v);
max_v = max(v);
min_v = min(v);
```
统计[-1, 1]和[-2, 2]范围内元素个数:
```matlab
num_1 = sum(v >= -1 & v <= 1);
num_2 = sum(v >= -2 & v <= 2);
```
matlab 生成一个 1000 个正态(即高斯)随机变量的向量,其平均值为 2.5,方差为 16。 查找样本的样本均值和方差。 使用 30 个箱生成数据的直方图。
可以使用 MATLAB 中的 randn 函数生成正态分布的随机变量,设定均值和方差即可。代码如下:
```matlab
mu = 2.5; % 平均值
sigma = 4; % 标准差
n = 1000; % 样本数
X = mu + sigma * randn(n, 1); % 生成正态分布的随机变量
sample_mean = mean(X); % 样本均值
sample_var = var(X); % 样本方差
histogram(X, 30); % 生成直方图
```
运行代码后,可以得到样本均值为 2.4925,样本方差为 15.9087,直方图如下图所示:
![histogram](https://i.loli.net/2021/08/06/9WzBtjQ2JfLYGvD.png)
阅读全文