橘里571 2022-11-08 12:19 采纳率: 0%
浏览 18

用二分法解决思路:二分法求方程根方法的方法如下:①取去区间[a,b]中点x=(a+b)/2;②若f(x)=0,即x为方

img


解决思路:二分法求方程根方法的方法如下:①取去区间[a,b]中点x=(a+b)/2;②若f(x)=0,即x为方程的根;③否则,若f(x)与f(a)同号,则变区间为[x,b],异号,则变区间[a,x];重复上述步骤,直到取到近似根。

  • 写回答

2条回答 默认 最新

  • JarodYv 领域专家: 人工智能技术领域 2022-11-08 12:55
    关注

    我实现了一版,供你参考。如果有帮助,望采纳。

    #include <math.h>
    #include <stdio.h>
    
    double f(double x) {
        return 2 * pow(x, 3) - 4 * pow(x, 2) + 3 * x - 6;
    }
    
    int main() {
        double lower = -10;
        double upper = 10;
        double x, y, _y;
        while (1) {
            x = (lower + upper) / 2;
            y = f(x);
            if (y == 0) {
                break;
            }
            _y = f(lower);
            if (y * _y > 0) { //同号
                lower = x;
            } else {
                upper = x;
            }
        }
        printf("%lf", x);
    
        return 0;
    }
    
    
    
    评论

报告相同问题?

问题事件

  • 创建了问题 11月8日