Пример #1
0
        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);
        }