早教吧 育儿知识 作业答案 考试题库 百科 知识分享

java用二分法求方程2x^3-4x^2+3x-6=0在(-10,10)之间的根怎么做

题目详情
java用二分法求方程2x^3 - 4x^2 +3x -6 =0 在(-10,10)之间的根
怎么做
▼优质解答
答案和解析

public class Dichotomie {
    public static void main(String[] args)
    {
        double a = -10, b = 10, delta = 1E-15;
        double x1 = a;
        double x2 = b;
        while(x2 - x1 > delta)
        {
            double diff = x2 - x1;
            if (isArea(x1, x2))
                x1 = x1 + diff / 2;
            else
            {
                x2 = x1;
                x1 = x1 - diff;
            }
        } 
        System.out.println("Solution: " + x1);
    }
    
    private static boolean isArea(double x1, double x2)
    {
        boolean result = true;
        if(f(x1) * f(x2) > 0)
            result = false;
        else if(f(x1) * f(x2) < 0)
            result = true;
        return result;
    }
    
    private static double f(double x)
    {
        return 2*x*x*x - 4*x*x +3*x -6;
    }
}