public static RayQuantities.Area Integrate(Func <RayQuantities.Length[], RayQuantities.Length> func, RayQuantities.Length[] a, RayQuantities.Length[] b, int samples)
        {
            var mc = new MonteCarloRayQuantities(a.Length, func);

            for (int i = 0; i < a.Length; i++)
            {
                mc.Range[i] = new RQRange(a[i], b[i]);
            }
            mc.Iterations = samples;
            mc.Compute();
            return(mc.Area);
        }
 public RayQuantities.Area CalcPi()
 {
     return(MonteCarloRayQuantities.Integrate(x => H(x[0], x[1]), from, to, N));
 }
Exemplo n.º 3
0
 public RayQuantities.Area CalcPiRayQuantities()
 {
     return(MonteCarloRayQuantities.Integrate(x => RQH(x[0], x[1]), RQfrom, RQto, N));
 }