Normally distributed pseudorandom numbers using randn

Why doesn't
EDU>> r = 10.5 + 1.*randn(1,10);
EDU>> mean(r)
ans =
10.5848
return a mean of 10.5 if I specified that this set of pseudorandom numbers should have a mean of 10.5 in the command line?

 采纳的回答

You cannot expect it to have exactly a mean of 10.5 in one realization of the random vector. If you repeat that experiment a large number of times, you will see the mean of the means will come very close to 10.5
for nn = 1:1e4
x = 10.5+randn(1,10);
meanz(nn) = mean(x);
end
mean(meanz)
Just taking a sample from a N(mu,sigma^2) population does not guarantee the mean of the sample will be mu. You have to look at the sampling distribution of the sample mean.

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Random Number Generation 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by