Need to find the distribution from mean & standard deviation
2 次查看(过去 30 天)
显示 更早的评论
Hello,
I need a 100 numbers of distribution for a specified mean & std. I found one, but its not accurate. The one I found is below-
sig_R_lrs=18.37e3;
mu_R_lrs=16.49e3;
sig_G_lrs=1/sig_R_lrs;
mu_G_lrs=1/mu_R_lrs;
y_lrs=sig_G_lrs.*randn(100,1)+mu_G_lrs;
here mean(y_lrs) or std(y_lrs) is not accurate. Also came across r = normrnd(16.49e3,18.37e3,[1,100]), but even here i don't get an exact mean & std :(
Any suggestion of getting an accurate mean & std and determining the distribution ?
thanks in advance :)
3 个评论
Stephen23
2018-5-17
编辑:Stephen23
2018-5-17
"i don't get an exact mean & std"
In general a sample will not have the same mean, standard deviation, etc. as the distribution. Take it down to the logical extreme: does a sample of one value have the same mean value as whatever random distribution it was picked from? In general you would not expect this.
Please explain why you expect a random sample to have that exact mean and standard deviation.
回答(3 个)
Image Analyst
2018-5-17
To learn about the "standard error of the mean" (which you're talking about even if you don't realize it), see Wikipedia https://en.wikipedia.org/wiki/Standard_error
0 个评论
Jeff Miller
2018-5-18
As others have said, you should not expect the randomly sampled values to match the true mean and sd exactly, due to random sampling error. If you do want to construct an artificial sample where the values do match exactly (even though this is not a true random sample), you can do so like this:
sig_R_lrs=18.37e3;
mu_R_lrs=16.49e3;
sig_G_lrs=1/sig_R_lrs;
mu_G_lrs=1/mu_R_lrs;
r = randn(100,1);
rsd = std(r);
r2=r/rsd*sig_G_lrs;
y_lrs=r2 + (mu_G_lrs-mean(r2));
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!