September Morn Update
This commit is contained in:
parent
4e2d22a71d
commit
aac6731f2c
6856 changed files with 141342 additions and 21127 deletions
|
|
@ -0,0 +1,9 @@
|
|||
(defn experiment
|
||||
[]
|
||||
(if (<= (+ (Math/pow (rand) 2) (Math/pow (rand) 2)) 1) 1 0))
|
||||
|
||||
(defn pi-estimate
|
||||
[n]
|
||||
(* 4 (float (/ (reduce + (take n (repeatedly experiment))) n))))
|
||||
|
||||
(pi-estimate 10000)
|
||||
17
Task/Monte-Carlo-methods/Erlang/monte-carlo-methods-1.erl
Normal file
17
Task/Monte-Carlo-methods/Erlang/monte-carlo-methods-1.erl
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
-module(monte).
|
||||
-export([main/1]).
|
||||
|
||||
monte(N)->
|
||||
monte(N,0,0).
|
||||
|
||||
monte(0,InCircle,NumPoints) ->
|
||||
4 * InCircle / NumPoints;
|
||||
|
||||
monte(N,InCircle,NumPoints)->
|
||||
Xcoord = rand:uniform(),
|
||||
Ycoord = rand:uniform(),
|
||||
monte(N-1,
|
||||
if Xcoord*Xcoord + Ycoord*Ycoord < 1 -> InCircle + 1; true -> InCircle end,
|
||||
NumPoints + 1).
|
||||
|
||||
main(N) -> io:format("PI: ~w~n", [ monte(N) ]).
|
||||
20
Task/Monte-Carlo-methods/Erlang/monte-carlo-methods-2.erl
Normal file
20
Task/Monte-Carlo-methods/Erlang/monte-carlo-methods-2.erl
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
-module(monte2).
|
||||
-export([main/1]).
|
||||
|
||||
monte(N)->
|
||||
monte(N,0,0).
|
||||
|
||||
monte(0,InCircle,NumPoints) ->
|
||||
4 * InCircle / NumPoints;
|
||||
|
||||
monte(N,InCircle,NumPoints)->
|
||||
X = rand:uniform(),
|
||||
Y = rand:uniform(),
|
||||
monte(N-1, within(X,Y,InCircle), NumPoints + 1).
|
||||
|
||||
within(X,Y,IN)->
|
||||
if X*X + Y*Y < 1 -> IN + 1;
|
||||
true -> IN
|
||||
end.
|
||||
|
||||
main(N) -> io:format("PI: ~w~n", [ monte(N) ]).
|
||||
Loading…
Add table
Add a link
Reference in a new issue