matlab - matlab中randn函数的问题

标签 matlab random normal-distribution

我正在使用 matlab 的 randn 函数从标准正态分布生成随机数。我可以在帮助中看到这个例子

r = 1 + 2.*randn(100,1);

它说它从平均值为 1、标准差为 2 的正态分布中抽取数字。但是,当我计算 r 的平均值时。约为0.77。所以我有点困惑。谁能解释一下吗?

最佳答案

随着样本数量接近无穷大,算术平均值(样本平均值)将收敛到分布的实际平均值。但是,对于任何有限数量的样本,无法保证您获得分布的实际平均值(即 1.0。)

尝试

   r = 1 + 2.*randn(100,1);  mean(r)
   r = 1 + 2.*randn(1000,1);  mean(r)
   r = 1 + 2.*randn(10000,1);  mean(r)
   r = 1 + 2.*randn(100000,1);  mean(r)

等等。看看会发生什么。

关于matlab - matlab中randn函数的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11043819/

相关文章:

matlab - pcolor 上的对角线(小平面边缘不匹配!)

matlab - 如何创建采样值矩阵

python - 为什么 Mathematica 和 Python 在处理奇异矩阵方程时的答案不同?

python - 在 Python 中缩放正态分布

r - shapiro.test(..) 无法处理超过 5000 个数据点

matlab - MATLAB中直方图均衡功能的说明

python - 如何更改抽奖的格式

random - 为什么程序很难生成随机数?

iOS 随机图像

python - 我如何将切比雪夫不等式应用于这种情况?