using System; using System.Collections.Generic; using System.Linq; using System.Text; using V = Science.Mathematics.VectorCalculus; namespace VectorCalculus5Ed.Chapter6.Section4 { public class Example04 { public Example04() { } 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 = { -1.0, -1.0 }; double[] to = { 1.0, 1.0 }; V.IntegrationMultiD obj = new V.IntegrationMultiD(f, from, to); obj.Compute(); result += obj.BestEstimation.ToString() + "\r\n"; obj.NumberOfCall = 1000000; obj.Compute(); result += obj.BestEstimation.ToString() + "\r\n"; double ans = 2.0 * Math.PI; result += ans.ToString() + "\r\n"; } private double func(double[] x) { if (x[0] * x[0] + x[1] * x[1] > 1.0) return 0.0; else return 1.0 / Math.Sqrt(x[0] * x[0] + x[1] * x[1]); } } } /* 6.28234544534724 6.28316265574425 6.28318530717959 */