using System; using System.Collections.Generic; using System.Linq; using System.Text; using V = Science.Mathematics.VectorCalculus; namespace VectorCalculus5Ed.Chapter5.Section5 { public class Example06 { public Example06() { } private string result; public string Result { get{return result;} } public void Compute() { Science.Mathematics.Function.ToLastType f = new Science.Mathematics.Function.ToLastType(func); double[] from = { 0.0, 0.0, 0.0 }; double[] to = { 1.0, 1.0, 2.0 }; V.IntegrationMultiD obj = new V.IntegrationMultiD(f, from, to); obj.Compute(); result += obj.BestEstimation.ToString() + "\r\n"; obj.NumberOfCall = 10000000; obj.Compute(); result += obj.BestEstimation.ToString() + "\r\n"; double a = 2.0 / 3.0; result += a.ToString() + "\r\n"; } private double func(double[] x) { if (x[1] > x[0]) return 0.0; else if (x[0] * x[0] + x[1] * x[1] > x[2]) return 0.0; else return 1.0; } } } /* 0.666524834543227 0.666666053989398 0.666666666666667 */