产生数学期望为0,方差为1的高斯随机变量的样本10000个,画出直方图
时间: 2024-03-18 20:40:41 浏览: 15
好的,我可以帮你解决这个问题。由于你没有提供具体的编程语言要求,我将提供Python代码实现。
首先,我们需要使用Python中的NumPy库生成高斯随机变量的样本。然后,我们可以使用Matplotlib库绘制直方图。
以下是实现代码:
```python
import numpy as np
import matplotlib.pyplot as plt
# 生成高斯随机变量的样本
samples = np.random.normal(loc=0, scale=1, size=10000)
# 绘制直方图
plt.hist(samples, bins=50, density=True)
# 添加标题和标签
plt.title('Histogram of Gaussian Random Variable')
plt.xlabel('Value')
plt.ylabel('Probability Density')
# 显示图形
plt.show()
```
运行这段代码,你将得到一个直方图,其中包含10000个样本,产生数学期望为0,方差为1的高斯随机变量。
相关问题
产生长度为 1000 数学期望为 5,方差为 10 的高斯随机序列,并根据该序列值画出其概率密度曲线。(不使用 pdf 函数)
下面是产生长度为 1000 数学期望为 5,方差为 10 的高斯随机序列,并绘制其概率密度曲线的 Python 代码:
```python
import numpy as np
import matplotlib.pyplot as plt
# 产生高斯随机序列
mu, sigma = 5, np.sqrt(10)
x = np.random.normal(mu, sigma, 1000)
# 绘制概率密度曲线
n, bins, patches = plt.hist(x, bins=50, density=True, alpha=0.75)
# 添加标签和标题
plt.xlabel('x')
plt.ylabel('Probability density')
plt.title('Gaussian distribution')
# 绘制拟合曲线
y = 1/(sigma * np.sqrt(2 * np.pi)) * np.exp( - (bins - mu)**2 / (2 * sigma**2))
plt.plot(bins, y, '--')
# 显示图形
plt.show()
```
上述代码中,我们使用了 `numpy.random.normal()` 函数产生了一个长度为 1000,数学期望为 5,方差为 10 的高斯随机序列 `x`。然后,使用 `matplotlib.pyplot.hist()` 函数绘制了该序列的概率密度曲线。最后,我们通过手动计算正态分布概率密度函数的方式,绘制了一条拟合曲线。运行上述代码,即可得到该高斯随机序列的概率密度曲线图。
利用Matlab产生长度为 1000 数学期望为 5,方差为 10 的高斯随机序列,并根据该序列值画出其概率密度曲线。(不使用 pdf 函数)
下面是在 Matlab 中产生长度为 1000 数学期望为 5,方差为 10 的高斯随机序列,并根据该序列值画出其概率密度曲线的代码:
```matlab
mu = 5;
sigma = sqrt(10);
x = mu + sigma * randn(1, 1000);
% 绘制概率密度曲线
histogram(x, 50, 'Normalization', 'pdf');
hold on;
% 计算并绘制拟合曲线
xx = linspace(min(x), max(x), 1000);
yy = 1/(sigma * sqrt(2 * pi)) * exp( - (xx - mu).^2 / (2 * sigma^2));
plot(xx, yy, 'r--', 'LineWidth', 2);
% 添加标签和标题
xlabel('x');
ylabel('Probability density');
title('Gaussian distribution');
% 显示图形
hold off;
```
上述代码中,我们使用了 `randn()` 函数产生了一个长度为 1000,数学期望为 5,方差为 10 的高斯随机序列 `x`。然后,使用 `histogram()` 函数绘制了该序列的概率密度曲线。最后,我们通过手动计算正态分布概率密度函数的方式,绘制了一条拟合曲线。运行上述代码,即可得到该高斯随机序列的概率密度曲线图。