Statistics/Normal distribution: Difference between revisions

(Adding C#)
Line 1,640:
66 ⎸
67 ⎸</pre>
 
=={{header|Phix}}==
{{trans|Liberty_BASIC}}
<lang Phix>function normalDist(atom m, atom s) -- Box Muller method
atom u = rnd(),
v = rnd()
return sqrt(-2*log(u))*cos(2*PI*v)
end function
 
procedure sample(integer n)
-- show mean, standard deviation. Find max, min.
sequence dat = repeat(0,n)
atom mx = -1000,
mn = +1000,
sSq = 0
for i=1 to n do
atom d = normalDist(1,0.2)
dat[i] = d
mx = max(mx,d)
mn = min(mn,d)
sSq += d*d
end for
printf(1,"%d data terms used.\n",{n})
atom mean = sum(dat)/n
printf(1,"Largest term was %g & smallest was %g\n",{mx,mn})
atom range = mx-mn
printf(1,"Mean = %g\n",{mean})
printf(1,"Stddev = %g\n",sqrt(sSq/n-mean*mean))
-- show histogram
integer nBins = 50
sequence bins = repeat(0,nBins+1)
for i=1 to n do
integer z = floor((dat[i]-mn)/range*nBins)+1
bins[z] += 1
end for
for b=1 to nBins do
integer r = floor(nBins*bins[b]/n*30)
puts(1,repeat('#',r)&"\n")
end for
end procedure
sample(100000)</lang>
{{Out}}
<pre>
100000 data terms used.
Largest term was 4.30779 & smallest was -4.11902
Mean = -0.00252597
Stddev = 1.00067
 
#
##
####
######
##########
#############
##################
########################
#################################
########################################
####################################################
#############################################################
######################################################################
###############################################################################
#######################################################################################
###############################################################################################
#################################################################################################
#####################################################################################################
###################################################################################################
################################################################################################
########################################################################################
###############################################################################
#######################################################################
############################################################
#################################################
#######################################
##############################
#########################
################
############
#########
######
####
##
#
</pre>
 
=={{header|PureBasic}}==
7,813

edits