编程:二分法解方程

本文介绍了一种使用二分法解决特定多项式方程f(x)=2x^3-5x^2+3x-6=0的方法,并提供了一个C语言实现的示例程序,该程序能够找到方程的根,精度达到0.00001。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题描述

【项目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);
}

 

 

 

 

 

输出结果

心得体会
作为一个大学二的菜鸟,开始慢慢前进,多多少少感到有收获,由于水平有限,多多少少有错,望包涵laugh.gifuploading.4e448015.gif转存失败重新上传取消大笑

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值