提高篇第二十讲二——二分法解方程

来源:互联网 发布:网络医生兼职 编辑:程序博客网 时间:2024/06/07 18:59

问题描述

【项目2-二分法解方程】
  二分法是在计算机科学中很重要的一种方法,用于查找产生二分查找算法,还可以用在很多场合。
  可以用二分法解方程。
  对于区间[a,b]上连续不断且f(a)·f(b)<0的函数y=f(x),通过不断地把函数f(x)的零点所在的区间一分为二,使区间的两个端点逐步逼近零点,进而得到零点近似值的方法叫二分法。编程序求解方程f(x)=2x^3-5x^2+3x-6=0,要求精确到0.00001


程序代码

#include <stdio.h>/**csdn学院--2016级*目的:让代码见证成长(作为一个初学的菜鸟,如*大家有发现错误,欢迎指正!)*文件名称:Myfun156.c*问题描述:编程序求解方程*f(x)=2x^3-5x^2+3x-6=0,*要求精确到0.00001*作者:小臣小仁*完成日期:2017年5月27日*/double f(double);int main(){    double a,b,c;    do{        printf("请输入x1,和x2的区间:");        scanf("%lf %lf",&a,&b);    }while(f(a)*f(b)>=0);    printf("在区间[%.2lf,%.2lf]有一个解;\n",a,b);    do{        c=(a+b)/2;        if(f(a)*f(c)>0)            a=c;        else            b=c;    }while((f(c)<-1e-5)||(f(c)>1e-5));    printf("方程的解为:%.5f\n",c);    return 0;}double f(double x){    return (2*x*x*x-5*x*x+3*x-6);}


输出结果


心得体会
作为一个大学二的菜鸟,开始慢慢前进,多多少少感到有收获,由于水平有限,多多少少有错,望包涵大笑