public static void TestCentroidCalculation(HyperCubeOperations hco, IHyperCube <double> hc_1, IHyperCube <double> hc_2, IHyperCube <double> hc_3, string[] varNames) { IHyperCube <double>[] points = new IHyperCube <double>[] { hc_1, hc_2, hc_3 }; var centroid = hco.GetCentroid(points); //[0,0,0] //[1,0,0] //[0,2,0] TestAreEqual(new double[] { 1 / 3.0, 2 / 3.0, 0 }, centroid, varNames); }
public void TestGetCentroid() { var hco = new HyperCubeOperations(new BasicRngFactory(0)); var hc_1 = factory.Create(3, 0, 0, 4); var hc_2 = factory.Create(3, 0, 0, 4); var hc_3 = factory.Create(3, 0, 0, 4); //var hc_1 = new TestHyperCube(3, 0, 0, 4); //var hc_2 = (TestHyperCube)hc_1.Clone(); //var hc_3 = (TestHyperCube)hc_1.Clone(); var varNames = hc_1.GetVariableNames(); hc_2.SetValue(varNames[0], 1); hc_3.SetValue(varNames[1], 2); TestCentroidCalculation(hco, hc_1, hc_2, hc_3, varNames); }