有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何使用二分法打印出一个多项式的所有根(最多5个指数)

我正在做一个二分法程序,你输入系数的5次方,我找到多项式的每个根。我的代码只打印出多项式的第一个根。我如何让它继续寻找其他根?这是我的密码

public void bisectionMethod(double a, double b) {
        double average;
        double yOfC;
        double [] roots;
        int size = 1;
        while (size <= 5) {
            average = (a + b) / 2;
            yOfC = calculateY(average);
            if (Math.abs(yOfC) < 0.001) {
                System.out.println(average);
                size++;
            } else if (yOfC * calculateY(a) > 0) {
                a = average;
            } else {
                b = average;
            }
        }
    }

这是我的输出

-0.9999990463256836
-0.9999990463256836
-0.9999990463256836
-0.9999990463256836
-0.9999990463256836

共 (1) 个答案

  1. # 1 楼答案

    这与其说是一个编程问题,不如说是一个数学问题

    给定连续函数f中的两个点,如果f(a)*f(b)<;0(即一个值为正值,另一个值为负值)。但是,这只保证一个根

    若要查找另一个根(如果存在),必须选择不同的间隔。但是,在计算根之前,您不会知道这个新的间隔是否会产生一个新的根。如果您对其他根查找算法感兴趣,我建议您阅读here