我正在使用 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/