/* * Joseph Barkawi * CSE 541, 9:30 */ public class bisection_method { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int n =0; int n_max = 10; double a = -1.0; double b = 1.0; double c,u,v,w; u = eval_function(a); v = eval_function(b); System.out.println("a: " + a + " b:" + b + " u:" + u + " v:" + v); if((u*v) >= 0.0); { System.out.println("u*v is >= 0. The System will now exit" + u*v); System.exit(1); } for(n=0; n < n_max; n++) { c = (a+b)/2; w = eval_function(c); System.out.println("n:" + n + " c:" + c + " w:" + w); if(w*u == 0) { System.out.println("n2:" + n + " c:" + c + " w:" + w); System.exit(1); } else { if(w*u < 0.0) { b = c; v = w; } else { a = c; u = w; } } } } public static double eval_function(double var) { double final_eval = 0.0; double part0 = 6.0; double part1 = 3*(Math.pow(var, 2.0)); double part2 = 2*(Math.pow(var, 3.0)); double part3 = (6.0)*(Math.exp(var) - var); final_eval = part0 + part1 + part2 - part3; return final_eval; } }