randn function does not work
7 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Binbin Zhang
il 27 Nov 2017
Commentato: David Goodmanson
il 27 Nov 2017
the average value of data generated by function 'randn' is not zero
1 Commento
Risposta accettata
Walter Roberson
il 27 Nov 2017
Any one call to randn() is a finite sampling of the infinite distribution. The mean of 0 is statistical, not guaranteed for any finite subset.
If it were otherwise, imagine doing randn(1,1): in order for the mean of that sampling to be 0 each randn(1,1) would have to return 0. For randn(1,2) with two values being generated, both would have to be 0 or the two would have to be exact negatives of each other.
You can do statistical modeling to figure out the probability of the mean of a finite sampling being more than any given value.
0 Commenti
Più risposte (2)
Guillaume
il 27 Nov 2017
For some reason, my dice don't work either. I've thrown them many times, yet the mean value is not exactly 3.5.
>> mean(randn(1, 1e8))
ans =
-1.9019e-04
Pretty close to zero if you ask me. You'll only get exactly zero if you call randn an infinite number of times (or you're really lucky)
0 Commenti
Binbin Zhang
il 27 Nov 2017
1 Commento
David Goodmanson
il 27 Nov 2017
Somebody should mention that if you take N samples from a distribution with standard deviation 1, then the standard deviation of the N-sample mean is 1/sqrt(N). So in Guillaume's example with N = 1e8, you would expect an answer down around 1e-4, which is what happened.
Vedere anche
Categorie
Scopri di più su 均匀分布(连续) in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!