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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 【菠萝狗四足机器人】二次开发教程–第三章 【腿部校准和步态效果调试】

    【菠萝狗四足机器人】二次开发教程–第三章 【腿部校准和步态效果调试】腿部校准和步态效果调试1前言2腿部调中(0位校准)3步态效果调试3.1重心标定3.2自动重心补偿量调节4结束1前言承接上次的教程,本次文章,将教你怎么对Py-appleDynamics6.5及6.5以后版本的软件进行腿部校准(调中)和步态效果调试。Py-appleDynamics开源四足控制软件Github调中顾名思义为“机器狗腿部中位调整“,既对机器人的腿部进行标定,使他的机械0位和软件0位重合,以实现机械的运动效果和软件对应。从Py-appleDynamic

    2022年6月4日
    28
  • webpack配置devServer详解

    webpack配置devServer详解devServer 运行代码的目录 contentBase resolve dirname build 监视 contentBase 目录下的所有文件 一旦有变化就会 reloadwatchC true watchOptions 忽略文件 ignored node modules 启动 gzip 压缩 compress true

    2025年11月7日
    2
  • windows环境搭建web服务器(IIS)

    windows环境搭建web服务器(IIS)windows环境下如何搭建web服务器,百度或者谷歌一下都会有很多教程和资源可以参考。这里我也记载一下过程,便于大家参考。至于什么是web服务器,为什么需要web服务器,这里不太明白的也可以百度一下。简单的说就是需要一个能够处理HTTP协议的互联网程序,当做好一个网站后将其放在这个程序包里。如果指定了这个程序所在电脑的IP地址,就可以用浏览器来显示这个网站了。通常这个程序所在的电脑位置我们称之为…

    2022年5月22日
    49
  • 电脑设备管理器没有调制解调器_电脑里没有调制解调器

    电脑设备管理器没有调制解调器_电脑里没有调制解调器泼冷水丶回答数:5138|被采纳数:532017-01-0910:55:29打开控制面板。我们的很多操作都在控制面板里实现完成的。查看是否安装过BlueSoleil驱动。首先确定你的电脑上曾经装过BlueSoleil驱动。如果没有装过这个,装过其他提供调制解调器的驱动也可以。安装的蓝牙调制解调器使用情况。在网上邻居里观察下我们的BluetoothPANNetWorkAdapte…

    2025年5月31日
    7
  • android的surfaceflinger原理学习「建议收藏」

    android的surfaceflinger原理学习「建议收藏」概念SurfaceFlinger是一个系统服务,如:audioflinger,audiopolicyservice等等,系统的主要服务通过这个文章进行了解,Android的系统服务一览。这个系统服务主要实现了Surface的建立、控制、管理等功能。换种说法就是,在Android的实现中它是一个service,提供系统范围内的surfacecomposer功能,它能够将各种应用程序的2D、3…

    2022年4月18日
    56
  • ubuntu远程桌面连接windows系统

    ubuntu远程桌面连接windows系统

    2020年11月8日
    193

发表回复

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

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