Implementation of Bisection Method written in Java.

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

import java.util.Scanner;

public class Bisection {
  public static void main(String[] args){
    Scanner reader = new Scanner(System.in);
    double intervalBegin;
    double intervalEnd;
    double middle;
    double precision;
    
    System.out.print("Enter begining of interval: ");	
    intervalBegin = reader.nextDouble();
    
    System.out.print("Enter end of interval: ");	
    intervalEnd = reader.nextDouble();
    
    System.out.print("Enter precision of method: ");	
    precision = reader.nextDouble();
    
    if(Function(intervalBegin) * Function(intervalEnd) > 0.0D) { 
      System.out.println("Function has same signs at ends of interval");
      return;
    }
    
    while(Math.abs(intervalBegin - intervalEnd) > precision) {
      middle = (intervalBegin + intervalEnd) / 2.0D;
      
      System.out.println("X: " + middle);
      
      if(Function(intervalBegin) * Function(middle) < 0.0D) {
        intervalEnd = middle;
      } else {
        intervalBegin = middle;
      }
    }	
  }
  
  static double Function(double x) { //x^2 + 2x -1
    return x * (x + 2) - 1;
  }
}

 

Java Bisection Method
Tagged on:         

Leave a Reply

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

This website stores some user agent data. These data are used to provide a more personalized experience and to track your whereabouts around our website in compliance with the European General Data Protection Regulation. If you decide to opt-out of any future tracking, a cookie will be set up in your browser to remember this choice for one year. I Agree, Deny
504