Using normrnd for generating natural values (without decimal values)
1 次查看(过去 30 天)
显示 更早的评论
I would like to generate data with average of 27 and standard deviation of 1.41, but I would like the data have no decimal values, ex to be like this 12, 24, 27 ... . Could you please help me how I can do so?
4 个评论
Walter Roberson
2022-6-14
You cannot use the fact that the sum of identically distributed uniform distribution approximates normal. You can generate 54 binary values and sum them. That will have a mean of 27, but the std will be 3.67.
回答(1 个)
Sam Chak
2022-6-14
编辑:Sam Chak
2022-6-14
How about this data set {25, 26, 27, 27, 28, 29}?
A = [25, 26, 27, 27, 28, 29]
M = mean(A)
S = std(A)
5 个评论
Walter Roberson
2022-6-14
[x1, x2, x3, x4, x5, x6] = ndgrid(27-4:27+4);
meanmask = (x1 + x2 + x3 + x4 + x5 + x6)/6 == 27;
sx1 = x1(meanmask); sx2 = x2(meanmask); sx3 = x3(meanmask);
sx4 = x4(meanmask); sx5 = x5(meanmask); sx6 = x6(meanmask);
sx = [sx1, sx2, sx3, sx4, sx5, sx6];
st = std(sx, [], 2);
inrange = st >= 1.405 & st < 1.415;
values_that_work = sx(inrange,:);
whos values_that_work
unique(sort(values_that_work, 2), 'rows')
360 matches... but to within permutations they are all the same.
Notice that, as predicted by my analysis, no deviations of 4 or 3 match, only -2, -1, 0, 0, +1, +2
Sam Chak
2022-6-15
Many thanks to @Walter Roberson for explaning and showing the Permutation search procedure. The permutation-based method is effective.
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!