public static LinearRegressionRatioResult GetRegressionResult(this PointPairList pplTotal) { var refIntensities = new List <double>(); var sampleIntensities = new List <double>(); pplTotal.ForEach(pp => { refIntensities.Add(pp.X); sampleIntensities.Add(pp.Y); }); if (pplTotal.Count == 0) { return(new LinearRegressionRatioResult(0, 0)); } var intensities = new double[2][]; intensities[0] = refIntensities.ToArray(); intensities[1] = sampleIntensities.ToArray(); return(LinearRegressionRatioCalculator.CalculateRatio(intensities)); }
public void TestDistance() { double[][] a = new double[][] { new double[] { 1, 2, 3, 4 }, new double[] { 2, 4, 6, 8 } }; var result = LinearRegressionRatioCalculator.CalculateRatioDistance(a); Assert.AreEqual(2, result.Ratio); Assert.AreEqual(0, result.Distance); double[][] b = new double[][] { new double[] { 1, 2, 3, 4 }, new double[] { 3, 5, 7, 9 } }; result = LinearRegressionRatioCalculator.CalculateRatioDistance(b); Assert.AreEqual(2, result.Ratio, 0.001); Assert.AreEqual(1, result.Distance, 0.001); }