Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

import java.util.*; public class bisectionmethod { public static void main(Strin

ID: 3615958 • Letter: I

Question

import java.util.*;
public class bisectionmethod
{
public static void main(String []args)  
{Scanner in=new Scanner(System.in);
int N,terms,i;
double a,b,eps,x;
int[] coef=new int[4];
int[]exp=new int[4];
for(i=0;i<4;i++)
     { coef[i]=0;
        exp[i]=0;
        }
System.out.println("Enter your function: ");
System.out.print("How many terms(4 maximum)? ");
terms=in.nextInt();
for(i=0;i<terms;i++)
       {System.out.print("for term"+(i+1)+": enter coefficient: ");
        coef[i]=in.nextInt();
        System.out.print("for term "+(i+1)+": enter exponent: ");
        exp[i]=in.nextInt();
         }
System.out.print("Enter a value for "a": ");
a=in.nextDouble();
System.out.print("Enter a value for "b": ");
b=in.nextDouble();
System.out.print("Enter a value for "eps": ");
eps=in.nextDouble();
System.out.print("Enter a maximum iterations: ");
N=in.nextInt();
System.out.print("Your function is: ");
for(i=0;i<terms-1;i++)
    System.out.print(coef[i]+"X^"+exp[i]+" + ");
System.out.println(coef[terms-1]+"X^"+exp[terms-1]);
System.out.println(" a b x f(x)");
x=bisection(coef,exp,a,b,eps,N);
if(x!=-999999.9999)
     System.out.println("X="+x);
else
    System.out.println("Iteration limit a="+a+",b="+b);
}
public static double bisection(int coef[],int exp[],double a,doubleb,double eps,int N)
{int n=1,i;
double x,fval,fofa;
   while(n<=N)
       {x=(a+b)/2;
        if(Math.abs(x-a)<eps)
             return x;
        fval=0;
          fval=evalfun(coef,exp,x);
           System.out.printf("%.6f %.6f %.6f %.6f ",a,b,x,fval);
         if(fval==0)
           return x;
        fofa=evalfun(coef,exp,a);
        if(fval*fofa<0)
            b=x;
         else
            a=x;
         n++;
         }
     return 999999.9999;
    }
public static double evalfun(int coef[],int exp[],doublex)   
   {int i;
     double val=0;
     for(i=0;i<4;i++)
        val+=coef[i]*Math.pow(x,exp[i]);
    return val;
     }
}   

Explanation / Answer

x.