예제 #1
0
        public static void Run(RegressionAlgorithm regressionAlgorithm, int iterationShowRate, String formula, int iterationCount = 1000, int iterationCursorPosition = 2)
        {
            Console.SetCursorPosition(0, iterationCursorPosition);
            Console.WriteLine("Functional: {0}", regressionAlgorithm.Formula);

            for (var count = 0; regressionAlgorithm.CurrentIteration < iterationCount; count++)
            {
                regressionAlgorithm.MakeIteration();
                if (count % iterationShowRate != 0)
                    continue;

                Console.SetCursorPosition(0, iterationCursorPosition+2);
                Console.WriteLine("Iteration #:\t{0}", regressionAlgorithm.CurrentIteration);
                Console.WriteLine("Constant set:\t[{0}]", string.Join(" ; ", regressionAlgorithm.InConstant));
                Console.WriteLine("ApproximationError:\t{0}", regressionAlgorithm.ApproximationError);
            }
        }
예제 #2
0
        public static void Run(RegressionAlgorithm alg, int iterationShowRate, String formula, int iterationCount = 1000, int iterationCursorPosition = 2)
        {
            Console.SetCursorPosition(0, iterationCursorPosition);
            Console.WriteLine("Functional: " + alg.Formula);

            for (var cnt = 0; ; cnt++)
            {
                alg.MakeIteration();
                if (cnt % iterationShowRate != 0) continue;
                Console.SetCursorPosition(0, iterationCursorPosition+2);
                Console.WriteLine("Iteration #:  " + alg.CurrentIteration);
                Console.WriteLine("Constant set:  " + "[" + string.Join(" ; ", alg.InConstant) + "]");
                Console.WriteLine("ApproximationError:    " + alg.ApproximationError);

                if (alg.CurrentIteration > iterationCount) break;
            }
        }