matlab中randn函数的问题

时间:2012-06-15 02:10:48

标签: matlab random normal-distribution

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

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

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

1 个答案:

答案 0 :(得分:3)

当样本数接近无穷大时,算术平均值(样本均值)将收敛到分布的实际平均值。但是,对于任何有限数量的样本,您无法保证得到分布的实际平均值(即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)

等。看看会发生什么。