Implementation of Bisection Method written in console C#.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

// © 2017 TheFlyingKeyboard and released under MIT License
// theflyingkeyboard.net

namespace BisectionCS
{
    class Program
    {
        static void Main(string[] args)
        {
            double intervalBegin;
            double intervalEnd;
            double middle;
            double precision;

            Console.Write("Enter begining of interval: ");
            intervalBegin = Convert.ToDouble(Console.ReadLine());

            Console.Write("Enter end of interval: ");
            intervalEnd = Convert.ToDouble(Console.ReadLine());

            Console.Write("Enter precision of method: ");
            precision = Convert.ToDouble(Console.ReadLine());

            if (Function(intervalBegin) * Function(intervalEnd) > 0.0D)
            {
                Console.Write("Function has same signs at ends of interval");
                return;
            }

            while (Math.Abs(intervalBegin - intervalEnd) > precision)
            {
                middle = (intervalBegin + intervalEnd) / 2.0D;

                Console.WriteLine("X: " + middle);

                if (Function(intervalBegin) * Function(middle) < 0.0D)
                {
                    intervalEnd = middle;
                }
                else
                {
                    intervalBegin = middle;
                }
            }

            Console.ReadKey(); //Wait before exiting
        }

        static double Function(double x)
        { //x^2 + 2x -1
            return x * (x + 2) - 1;
        }
    }
}

 

C# Bisection Method
Tagged on:         

Leave a Reply

Your email address will not be published. Required fields are marked *