二分法 一元非线性方程求根 C语言实现

来源:互联网 发布:asp.net 开源论坛源码 编辑:程序博客网 时间:2024/04/30 06:24

二分法 一元非线性方程求根 C语言实现

标签:计算方法实验

/*    本实验用二分法求方程f(x) = x * x * x - 2 * x - 5 = 0在区间[2, 3]的根。*/#include <stdio.h>#include <math.h>double f(double x){    return x * x * x - 2 * x - 5;}int main(){    double a, b;    double eps = 0.0001;  //精度要求    printf("please input a b = ");  //区间[a, b]    scanf("%lf %lf", &a, &b);    double x = (a + b) / 2.0;  //x为区间中点    if(f(a) * f(b) < 0){        while(f(x) != 0){            x = (a + b) / 2;            if(f(x) * f(a) < 0){                b = x;                if(b - a < eps)  break;            }            else{                a = x;                if(b - a < eps) break;            }        }        printf("\nthe root of f(x) = 0 is x = %f\n", (a + b) / 2.0);    }    else  printf("\nno root! afresh input\n");    return 0;}

实验结果:
output

原创粉丝点击