5 people like it.

# Calculate PI using Monte Carlo

Estimate the value of PI using a Monte Carlo simulation.

 ``` 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: ``` ``````open Fmat.Numerics open Fmat.Numerics.MatrixFunctions open Fmat.Numerics.BasicStat let calcPi n = let x = rand [1;n] let y = rand [1;n] let d = x .* x + y .* y let circ = new Matrix(d .< 1.0) let m = sum(circ,1) float(m)/(float)n*4.0 let pi = calcPi 4000000 ``````
namespace Fmat
namespace Fmat.Numerics
module MatrixFunctions

from Fmat.Numerics
module BasicStat

from Fmat.Numerics
val calcPi : n:int -> float

Full name: Script.calcPi
val n : int
val x : Matrix<float,FloatLib>
val rand : size:seq<int> -> Matrix<float,FloatLib>

Full name: Fmat.Numerics.BasicStat.rand
val y : Matrix<float,FloatLib>
val d : Matrix<float,FloatLib>
val circ : Matrix
Multiple items
type Matrix = Matrix<float,FloatLib>

Full name: Fmat.Numerics.Matrix

--------------------
new : data:'T [,] -> Matrix<'T,'S>
(+0 other overloads)
new : data:'T [,,] -> Matrix<'T,'S>
(+0 other overloads)
new : data:'T [,,,] -> Matrix<'T,'S>
(+0 other overloads)
new : data:seq<'T> -> Matrix<'T,'S>
(+0 other overloads)
new : data:seq<'T list> -> Matrix<'T,'S>
(+0 other overloads)
new : data:seq<seq<'T>> -> Matrix<'T,'S>
(+0 other overloads)
new : data:seq<'T []> -> Matrix<'T,'S>
(+0 other overloads)
new : data:'T -> Matrix<'T,'S>
(+0 other overloads)
new : boolMatrix:__BoolMatrix -> Matrix<'T,'S>
(+0 other overloads)
new : size:seq<int> * data:matrixData<'T> -> Matrix<'T,'S>
(+0 other overloads)
val m : Matrix<float,FloatLib>
val sum : matrix:Matrix<float,FloatLib> * dim:int -> Matrix<float,FloatLib>

Full name: Fmat.Numerics.BasicStat.sum
Multiple items
val float : value:'T -> float (requires member op_Explicit)

Full name: Microsoft.FSharp.Core.Operators.float

--------------------
type float = System.Double

Full name: Microsoft.FSharp.Core.float

--------------------
type float<'Measure> = float

Full name: Microsoft.FSharp.Core.float<_>
val pi : float

Full name: Script.pi

### More information

 Link: http://fssnip.net/h2 Posted: 8 years ago Author: Phillip Trelford Tags: monte carlo , simulation , math , pi