MATLAB: Is the mean of value of gaussian white noise not zero

noiserandn

I create a vector of randomly selected values from a normal distribution of mean = 0 and std = 1. I calculate the mean and expect as a result zero. And I calculate the mean of the absolute value and I expect as a result but instead I get a non-zero mean and a result of for the mean of the absolute value.
How is that?
>> noise=randn(1,1000000);
>> mean(noise)
ans =
0.0013
>> mean(abs(noise))
ans =
0.7985

Best Answer

The numbers are randomly drawn from a normal distribution. Although this underlyin distribution has a mean of 0 and a standard deviation of 1, this does not mean that your selected numbers should have this mean and standard deviation! Think about it when you draw only a few numbers from this distribution. Would you expect the mean to be 0 all the time?
To make the mean and std of your selection of numbers (almost) equal to 0 and 1, respectively, you can do:
R = randn(1,100) ;
R = (R - mean(R))./ std(R) ;
mean(R), std(R)
Related Question