Grouping Random Numbers
>shortformat;
>n = 500
500
>m = 15
15
>mu = 5
5
>sigma = 0.5
0.5
>x = mu + sigma*normal([1,n]);
>mean(x), dev(x)
5.04187
0.504366
>..
>{xx,yy} = histo(x,m);
>xx
[ 3.77562 3.95712 4.13861 4.32011 4.50161 4.68311 4.8646 5.0461
5.2276 5.40909 5.59059 5.77209 5.95359 6.13508 6.31658 6.49808 ]
>yy
[ 5 14 24 26 54 69 59 69 58 52 30 25 9 5 1 ]
>xxm = (xx[1:m]+xx[2:m+1])/2
[ 3.86637 4.04787 4.22936 4.41086 4.59236 4.77385 4.95535 5.13685
5.31835 5.49984 5.68134 5.86284 6.04433 6.22583 6.40733 ]
>mean(xxm,yy), dev(xxm,yy)
5.03957
0.502982
>d = (max(x)-min(x))/m
0.181497
>yyn = yy/sum(yy)/d
[ 0.0550973 0.154272 0.264467 0.286506 0.59505 0.760342 0.650148
0.760342 0.639128 0.573011 0.330584 0.275486 0.0991751 0.0550973
0.0110195 ]
>clg
>plot2d(xx,yyn,a=mu-3sigma,b=mu+3sigma,c=0,d=1.1max(yyn),bar=1,style="\/");
>plot2d(xxm,yyn,add=1,thickness=2);
>plot2d("qnormal(x,mu,sigma)",add=1,thickness=2,color=10);
>insimg;

>plot2d("qnormal(x,mu,sigma)*sum(yy)*d", ...
> a=mu-3sigma,b=mu+3sigma,c=0,d=1.1max(yy),thickness=2,color=10); ...
> plot2d(histo(x,m,<bar),>add); insimg;
