Ejemplo n.º 1
0
        static void CompareOuput(double a, double b)
        {
            var EqSolver = new EquationSolver(a, b);

            Console.WriteLine("Methods comparison (first root)");
            Console.WriteLine(" _________________________________________________________");
            Console.WriteLine("|        | Number of iterations |   Number of iterations  |");
            Console.WriteLine("|  eps   |by Succ-Approxs method| by NewtonRaphson method |");
            Console.WriteLine("|________|______________________|_________________________|");
            double Eps = 0.01;
            int    it1, it2;

            for (int i = 0; i <= 4; i++)
            {
                EqSolver.SuccessiveApproximations_method(Eps);
                it1 = EqSolver.iteration_count;
                EqSolver.NewtonRaphson_method(Eps);
                it2 = EqSolver.iteration_count;
                Console.Write("{0, -9}", $"|{Eps}");
                Console.Write("{0, -23}", $"|{it1}");
                Console.Write("{0, -26}", $"|{it2}");
                Console.Write("{0, -3}", "| ");
                Console.WriteLine();
                Eps *= 0.001;
            }
            Console.WriteLine("_________|______________________|_________________________|");
        }
Ejemplo n.º 2
0
        static void Output(double a1, double b1, double a2, double b2, bool isIterative)
        {
            var EqSolver = new EquationSolver(a1, b1);

            if (isIterative)
            {
                Console.WriteLine("Method of Successive Approximations\n");
            }
            else
            {
                Console.WriteLine("NewtonRaphson method\n");
            }
            Console.WriteLine("First root of the equation");
            Console.WriteLine(" _________________________________________________");
            Console.WriteLine("|        |                  |                     |");
            Console.WriteLine("|  eps   |    Root value    |  Absolute Error     |");
            Console.WriteLine("|________|__________________|_____________________|");
            double x, Eps = 0.01;

            for (int i = 0; i <= 4; i++)
            {
                x = isIterative? EqSolver.SuccessiveApproximations_method(Eps):EqSolver.NewtonRaphson_method(Eps);
                Console.Write("{0, -9}", $"|{Eps}");
                Console.Write("{0, -19}", $"|{x}");
                Console.Write("{0, -22}", $"|{EqSolver.Error}");
                Console.Write("{0, -3}", "| ");
                Console.WriteLine();
                Eps *= 0.001;
            }
            Console.WriteLine("|________|__________________|_____________________|");

            EqSolver.a = a2; EqSolver.b = b2;
            Console.WriteLine("Second root");
            Console.WriteLine(" _________________________________________________");
            Console.WriteLine("|        |                  |                     |");
            Console.WriteLine("|  eps   |    Root value    |  Absolute Error     |");
            Console.WriteLine("|________|__________________|_____________________|");
            Eps = 0.01;
            for (int i = 0; i <= 4; i++)
            {
                x = isIterative ? EqSolver.SuccessiveApproximations_method(Eps) : EqSolver.NewtonRaphson_method(Eps);
                Console.Write("{0, -9}", $"|{Eps}");
                Console.Write("{0, -19}", $"|{x}");
                Console.Write("{0, -22}", $"|{EqSolver.Error}");
                Console.Write("{0, -3}", "| ");
                Console.WriteLine();
                Eps *= 0.001;
            }
            Console.WriteLine("|________|__________________|_____________________|");
        }