Random numbers: Difference between revisions

m (→‎{{header|Falcon|}}: Tweak irregular header markup)
Line 1,988:
}</lang>
 
=={{header|Picat}}==
<lang Picat>main =>
_ = random2(), % random seed
G = [gaussian_dist(1,0.5) : _ in 1..1000],
println(first_10=G[1..10]),
println([mean=avg(G),stdev=stdev(G)]),
nl.
 
% Gaussian (Normal) distribution, Box-Muller algorithm
gaussian01() = Y =>
U = frand(0,1),
V = frand(0,1),
Y = sqrt(-2*log(U))*sin(2*math.pi*V).
 
gaussian_dist(Mean,Stdev) = Mean + (gaussian01() * Stdev).
 
% Variance of Xs
variance(Xs) = Variance =>
Mu = avg(Xs),
N = Xs.len,
Variance = sum([ (X-Mu)**2 : X in Xs ]) / N.
 
% Standard deviation
stdev(Xs) = sqrt(variance(Xs)).</lang>
 
{{out}}
<pre>first_10 = [1.639965415776091,0.705425965005482,0.981532402477848,0.309148743347499,1.252800181962738,0.098829881195179,0.74888084504147,0.181494956495445,1.304931340021904,0.595939453660087]
[mean = 0.99223677282248,stdev = 0.510336641737154]</pre>
 
 
=={{header|PicoLisp}}==
495

edits