Generating random numbers with mean and std dev specified

1 次查看(过去 30 天)
Hi
I have a simple linear regression model y=10+25x+Ɛ where the random error term is normally and independently distributed with mean zero and standard deviation 2.
I have to generate 8 of these E values.
If I were to generate 5 random numbers between 4 an 7 (for example), then I'd usually use this: - x=4+(7-4)*rand(1,5); (i.e.,) vector=min+(max-min)*rand(r,c)
With this in mind, I was using the following, but the values aren't between -2 and 2:
E=-2+(2+2)*randn(1,8)
Can anybody point me in the right direction?
Thanks

回答(1 个)

dpb
dpb 2015-10-24
The statistics for a normal are the mean and standard deviation, not the range of the observations as for a uniform, say. In fact, the standard normal variate is over range [-inf inf].
You state the desired error term is N(0,2) so the realization would be E = MEAN + STDev*randn(m,n), or in your specific case
E=2*randn(1,8);
since desired MEAN=0;
Your code above generates an approximation to N(-2,4) instead of N(0,2)
  2 个评论
Lorraine Williams
Lorraine Williams 2015-10-24
Thank you. When I run E=2*randn(1,8), am I supposed to get random numbers between -2 and +2?
Star Strider
Star Strider 2015-10-24
No. There is a 68% probability that they will be on the interval (-2,+2). They could theoretically be ±Inf.

请先登录,再进行评论。

Community Treasure Hunt

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

Start Hunting!

Translated by