二分算法——二分法求方程的根
问题描述:
- 求下面方程的一个根:f(x)=x3−5x2+10x−80=0f(x) = x^3-5x^2+10x-80 = 0f(x)=x3−5x2+10x−80=0,若求出的根是啊,则要求∣f(a)∣≤1/106|f(a)| \leq 1/10^6∣f(a)∣≤1/106
问题解析:
对f(x)f(x)f(x)求导,得f‘(x)=3x2−10x+10f^`(x) = 3x^2-10x+10f‘(x)=3x2−10x+10。由一元二次方程求根公式知方程f‘(x)=0f^`(x)=0f‘(x)=0无解,因此f‘(x)f^`(x)f‘(x)恒大于0.故f(x)f(x)f(x)是单调递增的。易知f(x)<0f(x) <0f(x)<0且f(100)>0f(100)>0f(100)>0,所以区间[0,100]内必然有且只有一个根。由于f(x)f(x)f(x)在[0,100]内是单调的,所以可以用二分的办法在区间[0,100]中寻找根。
C语言示例
#include<stdio.h>
#include<math.h>double EPS = 1e-6;
double f(double x) { return x*x*x - 5*x*x + 10*x - 80; }int main(){double root, x1 = 0, x2 = 100, y;int triedTimes = 1;root = x1+(x2-x1)/2;y = f(root);while( fabs(y) > EPS) {if( y>0 )x2 = root;elsex1 = root;root = x1+(x2 - x1)/2;y = f(root);triedTimes++;}printf("%.8f\n", root);printf("%d\n", triedTimes);return 0;
}
运行示例
注:文中问题及代码参考 MOOC——《程序设计与算法》(北京大学 郭炜)算法系列目录:
- 一、递归形式的问题
- 汉诺塔问题(Hanoi)
- N皇后问题
- 逆波兰表达式
- 四则运算表达式求值
- 爬楼梯
- 放苹果
- 算24
- 二、程序或算法的时间复杂度
- 三、二分算法
- 二分查找
- 二分法求方程的根
- 一、递归形式的问题
二分算法——二分法求方程的根相关推荐
- 二分法求方程的根(Python)
目录 1.概述 2.代码 3.结果 1.概述 求方程 f(x)=0的近似根的最简单方法为二分法,其基本思想是:首先根据方程有根定理(函数零点定理)确定方程的有根区间,然后不断的将有根区间一分为二,直到 ...
- 用牛顿法求方程的根的c语言编程,用牛顿迭代法和二分法求方程的根【C语言】...
1.用牛顿迭代法求该方程在1.5附近的根:2X^3-4X^2+3X-6=0 #include #include double func(double x) //函数 {return 2*x*x*x-4 ...
- 用牛顿迭代法和二分法求方程的根【C语言】
1.用牛顿迭代法求该方程在1.5附近的根:2X^3-4X^2+3X-6=0 #include<stdio.h> #include<math.h> double func(dou ...
- python二分法求方程的根_Python查找函数f(x)=0根的解决方法
线性代数分享方程f(x)=0的根 函数F(x)=0的重根与F'(x)=0的根有什么关系?有些人一旦错过了,就是一辈子不再主动联系,不愿打扰你的生活,连偶尔的寒暄都没有,成长就是这样的,不断的告别,不断 ...
- 二分法求方程的根_快速求解方程的根——二分法与牛顿迭代法
今天是周四高等数学专题的第7篇文章. 之前的文章和大家聊了许多数学上的理论,今天和大家聊点有用的东西. 我们都知道,工业上的很多问题经过抽象和建模之后,本质还是数学问题.而说到数学问题就离不开方程,在 ...
- 二分法求方程根matlab,matlab用二分法求方程 的正根,要求误差小于0.0005
matlab编程题:用二分法求方程x^3-3*x-1=0的根 先建立二分法的fun.m文件,代码如下:functionfun(a,b,e)%f是自定义的函数%a为隔根区间左端点,b为隔根区间右端点,e ...
- 二分法求方程根--C语言
1088: 习题5-15 二分法求方程的根 时间限制: 1 Sec 内存限制: 12 MB 提交: 43 解决: 24 [提交][状态][讨论版] 题目描述 用二分法求下面方程在区间(a,b)之间 ...
- 二分法(Bisection)与牛顿法(Newton)求方程的根
二分法(Bisection)与牛顿法(Newton)求方程的根 二分法求根 二分法数学原理 使用前提:必须要知道根所在的区间 函数图像如下: 数学分析步骤及编程思想: 第一步:给出一个会使函数f连续的 ...
- [计算机数值分析]牛顿下山法求方程的根
问题描述 一般来说,牛顿法的收敛性依赖于初值 x₀ 的选取,如果 x₀ 偏离方程的正解根 x* 较远,则牛顿法可能发散. 例:用牛顿法求方程 x³ - x - 1 = 0在 x = 1.5 附近的一个 ...
- matlab求方程实根,matlab怎么求方程的根
MATLAB解方程_IT/计算机_专业资料.一般的代数方程函数solve用于求解一般代数方程的根,假定S为符 号表达式,命令solve (S)求解表达式等于0的根,也 可以再输入一个...... MA ...
最新文章
- libcurl远程获取文件大小源码
- python 调用shell命令的方法
- JavaScript 动态创建标记
- nginx绑定freenom.com域名
- python类self_Python类中的self到底是干啥的
- 第45课 蝴蝶效应-动动脑 第3题 《小学生C++趣味编程》
- mysql千万级数据量根据索引优化查询速度
- matlab立体坐标定位_【光电视界】视觉导航定位系统工作原理及过程
- 解决 Agent admitted failure to sign using the key 问题 with ssh
- Memcached原理与应用
- gdb调试出现“no debugging symbols found”
- Atitit.index manager api design 索引管理api设计
- ubuntu22.04在虚拟机中的安装过程以及搜狗输入法的安装
- 苹果更新失败无法连接服务器未响应,iPhone 更新失败怎么办?更新 iOS 常见的错误代码及解决方法(二)...
- Java文件操作——简单文件搜索
- 内网端口映射软件之80端口映射全端口映射
- 运营MM又来求我发软文了......
- 红帽 linux 安装gns3,在Arch Linux和Manjaro系统上安装GNS3的方法
- 详细解读WordNet计算相似度的几种方法
- 设计师常用软件合集,有一个你肯定知道!
热门文章
- fabao_get.y
- “新基建”对下沉市场意味着什么?
- 资深影迷不可不知的宽高比:Aspect Ratio 电影画面比例
- python地区房价数据分析_数据分析——房价分析
- 绿色沃土计划农业大健康 功能性农业国稻种芯发力耕地体质
- 基于java+jsp房屋租赁管理系统
- dns外带数据【渗透测试】
- mysql数据狛聘_.net 生成拼音码与五笔码实例代码
- 各国(地区)货币名称缩写表
- matlab卡住了怎么办,如何解决matlab运行慢或死机的情况