Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
|
|
@ -0,0 +1,46 @@
|
|||
function gaussian (mean, variance)
|
||||
return math.sqrt(-2 * variance * math.log(math.random())) *
|
||||
math.cos(2 * math.pi * math.random()) + mean
|
||||
end
|
||||
|
||||
function mean (t)
|
||||
local sum = 0
|
||||
for k, v in pairs(t) do
|
||||
sum = sum + v
|
||||
end
|
||||
return sum / #t
|
||||
end
|
||||
|
||||
function std (t)
|
||||
local squares, avg = 0, mean(t)
|
||||
for k, v in pairs(t) do
|
||||
squares = squares + ((avg - v) ^ 2)
|
||||
end
|
||||
local variance = squares / #t
|
||||
return math.sqrt(variance)
|
||||
end
|
||||
|
||||
function showHistogram (t)
|
||||
local lo = math.ceil(math.min(unpack(t)))
|
||||
local hi = math.floor(math.max(unpack(t)))
|
||||
local hist, barScale = {}, 200
|
||||
for i = lo, hi do
|
||||
hist[i] = 0
|
||||
for k, v in pairs(t) do
|
||||
if math.ceil(v - 0.5) == i then
|
||||
hist[i] = hist[i] + 1
|
||||
end
|
||||
end
|
||||
io.write(i .. "\t" .. string.rep('=', hist[i] / #t * barScale))
|
||||
print(" " .. hist[i])
|
||||
end
|
||||
end
|
||||
|
||||
math.randomseed(os.time())
|
||||
local t, average, variance = {}, 50, 10
|
||||
for i = 1, 1000 do
|
||||
table.insert(t, gaussian(average, variance))
|
||||
end
|
||||
print("Mean:", mean(t) .. ", expected " .. average)
|
||||
print("StdDev:", std(t) .. ", expected " .. math.sqrt(variance) .. "\n")
|
||||
showHistogram(t)
|
||||
Loading…
Add table
Add a link
Reference in a new issue