C语言二分法求方程根

C语言二分法求方程根对于二分法求根 其实和弦截法思想很像 甚至更简单 原理 先看如下的图 A B 两个点为跟的一个边界 通过一直缩小跟的边界 从而获取跟的值 1 知道函数 即方程的式子 这个好说 题上都有 2 循环的输入 A B 的横坐标的值 即 x1 x2 的初值 直到 f x1 与 f x2 的乘积为负数才停止 必须保证方程的跟在 x1 x2 区间 这样的 x1 x2 的初值才有意义 3 令 xx x1 x2 2

#include <stdio.h> #include <iostream> #include <string.h> #include <math.h> using namespace std; double f(double x) { 
    return (x*x*x-3*x*x+3*x-1); } int main() { 
    double x1,x2,xx;//x1,x2代表区间左右边界,xx代表方程跟的值 do { 
    scanf("%lf%lf",&x1,&x2); } while(f(x1)*f(x2)>0);//保证f(x1)和f(x2)是异号,这样才可以进行下一步的精准区间,否则,重新输入x1,x2的值 do { 
    xx=(x1+x2)/2; if(f(xx)*f(x1)>0) x1=xx; else x2=xx; } while(fabs(f(xx))>=1e-7);//le-6代表1*10的-6次方,它的值将影响到跟的准确度的问题 printf("%.2lf\n",xx); return 0; } 

第二种:

#include <stdio.h> #include <iostream> #include <string.h> #include <math.h> using namespace std; double f(double x) { 
    return (x*x*x-3*x*x+3*x-1); } double erfen(double x1,double x2,double (*p)(double))//double (*p)(double)为形参,相当于函数别名 { 
    double xx; do { 
    xx=(x1+x2)/2; if((*p)(xx)*(*p)(x1)>0) x1=xx; else x2=xx; }while(fabs((*p)(xx))>=1e-7);//le-7代表1*10的-6次方,它的值将影响到跟的准确度的问题 return xx; } int main() { 
    double x1,x2; double f(double); double (*p)(double); p=f; do { 
    scanf("%lf%lf",&x1,&x2); } while((*p)(x1)*(*p)(x2)>0);//保证f(x1)和f(x2)是异号,这样才可以进行下一步的精准区间,否则,重新输入x1,x2的值 printf("%.2lf\n",erfen(x1,x2,f)); return 0; } 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/232244.html原文链接:https://javaforall.net

(0)
上一篇 2025年10月23日 下午2:01
下一篇 2025年10月23日 下午2:22


相关推荐

  • 讯飞星火智能平台使用教程

    讯飞星火智能平台使用教程

    2026年3月14日
    4
  • 数据分析决策树算法_大数据决策树算法

    数据分析决策树算法_大数据决策树算法在2006年12月召开的IEEE数据挖掘国际会议上,与会的各位专家选出了当时的十大数据挖掘算法(top10dataminingalgorithms)。本博客的十大数据挖掘算法系列已经介绍过其中的5个。本文主要介绍决策树中的C4.5,这也是当年位列十大数据挖掘算法之首的经典算法,最后,我们还将演示在Weka(怀卡托智能环境)中进行数据挖掘的实际操作方法

    2022年5月3日
    32
  • spring springMVC mybatis_javaweb servlet

    spring springMVC mybatis_javaweb servlet资源下载:https://download.csdn.net/download/weixin_44893902/45601185练习点设计:修改、删除一、语言和环境实现语言:JAVA语言。环境要求:MyEclipse/Eclipse+Tomcat+MySql。使用技术:Jsp+Servlet+JavaBean或SpringMVC+Spring+Mybatis。二、实现功能随着网上购物越来越多,电子订单也日益增多,特需要网上购物系统:1.首页默认显示所有订单信息,如.

    2026年4月13日
    6
  • CAS 单点登录/登出 系统「建议收藏」

    CAS 单点登录/登出 系统「建议收藏」前言:  在我们的实际开发中,更多的是采用分布式系统。那么问题来了,对于分布式系统的登录问题,我们如何解决呢?  如果说我们在每一个系统中都要进行一次登录,那么用户体验度也就差的没法用了。以京东商城为例,如果用户在登录京东商城的时候需要登录一次,在查询商品的时候还有在登录一次,加入购物车是还要重新登录,…(注意,每跳过一个页面都是进入了一个新的系统,请看他的url地址的变化)…

    2022年5月9日
    254
  • python flask-mail 实现qq发送邮件[通俗易懂]

    python flask-mail 实现qq发送邮件

    2022年2月20日
    45
  • LoadRunner压力测试:详细操作流程「建议收藏」

    LoadRunner压力测试:详细操作流程「建议收藏」一、 录制脚本1.安装完毕后,创建脚本: 点击OK之后,会弹出网址,之后创建Action,每进一个页面添加一个Action,录制结束后,终止录制。 二、 修改脚本1.脚本参数化将登录的用户名密码进行动态化

    2022年7月18日
    28

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号