2016 Update
This commit is contained in:
parent
948b86eafa
commit
dcf5d15da3
7965 changed files with 139854 additions and 31002 deletions
16
Task/Random-numbers/Elixir/random-numbers-1.elixir
Normal file
16
Task/Random-numbers/Elixir/random-numbers-1.elixir
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
defmodule Random do
|
||||
def normal(mean, sd) do
|
||||
{a, b} = {:rand.uniform, :rand.uniform}
|
||||
mean + sd * (:math.sqrt(-2 * :math.log(a)) * :math.cos(2 * :math.pi * b))
|
||||
end
|
||||
end
|
||||
|
||||
std_dev = fn (list) ->
|
||||
mean = Enum.sum(list) / length(list)
|
||||
sd = Enum.reduce(list, 0, fn x,acc -> acc + (x-mean)*(x-mean) end) / length(list)
|
||||
|> :math.sqrt
|
||||
IO.puts "Mean: #{mean},\tStdDev: #{sd}"
|
||||
end
|
||||
|
||||
xs = for _ <- 1..1000, do: Random.normal(1.0, 0.5)
|
||||
std_dev.(xs)
|
||||
2
Task/Random-numbers/Elixir/random-numbers-2.elixir
Normal file
2
Task/Random-numbers/Elixir/random-numbers-2.elixir
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
xs = for _ <- 1..1000, do: 1.0 + :rand.normal * 0.5
|
||||
std_dev.(xs)
|
||||
|
|
@ -1,12 +0,0 @@
|
|||
defmodule Random do
|
||||
def init() do
|
||||
:random.seed(:erlang.now())
|
||||
end
|
||||
def normal(mean, sd) do
|
||||
{a, b} = {:random.uniform(), :random.uniform()}
|
||||
mean + sd * (:math.sqrt(-2 * :math.log(a)) * :math.cos(2 * :math.pi * b))
|
||||
end
|
||||
end
|
||||
|
||||
Random.init()
|
||||
xs = for _ <- 1..1000, do: Random.normal(1.0, 0.5)
|
||||
Loading…
Add table
Add a link
Reference in a new issue