二分法的知识整理和代码的实现
来源:互联网 发布:怎么找淘宝大v合作 编辑:程序博客网 时间:2024/06/05 16:25
数学方面:
一般地,对于函数f(x),如果存在实数c,当x=c时f(c)=0,那么把x=c叫做函数f(x)的零点。
解方程即要求f(x)的所有零点。
先找到a、b,使f(a),f(b)异号,说明在区间(a,b)内一定有零点,然后求f[(a+b)/2],
现在假设f(a)<0,f(b)>0,a<b
①如果f[(a+b)/2]=0,该点就是零点,
如果f[(a+b)/2]<0,则在区间((a+b)/2,b)内有零点,(a+b)/2=>a,从①开始继续使用
中点函数值判断。
如果f[(a+b)/2]>0,则在区间(a,(a+b)/2)内有零点,(a+b)/2=>b,从①开始继续使用
中点函数值判断。
这样就可以不断接近零点。
通过每次把f(x)的零点所在小区间收缩一半的方法,使区间的两个端点逐步迫近函数的零点,以求得零点的近似值,这种方法叫做二分法。
给定精确度ξ,用二分法求函数f(x)零点近似值的步骤如下:
1 确定区间[a,b],验证f(a)·f(b)<0,给定精确度ξ.
2 求区间(a,b)的中点c.
3 计算f(c).
(1) 若f(c)=0,则c就是函数的零点;
(2) 若f(a)·f(c)<0,则令b=c;
(3) 若f(c)·f(b)<0,则令a=c.
4 判断是否达到精确度ξ:即若┃a-b┃<ξ,则得到零点近似值a(或b),否则重复2-4.
由于计算过程的具体运算复杂,但每一步的方式相同,所以可通过编写程序来运算。
例:(C语言)
方程式为:f(x) = 0,示例中f(x) = 1+x-x^3
使用示例:
input a b e: 1 2 1e-5
solution: 1.32472
源码如下:
例:C++语言[类C编写].
- 二分法的知识整理和代码的实现
- 二分法的代码实现
- 二分法和快速排序的PHP实现
- ios知识整理——类的声明和实现
- 二分法插入的实现
- 二分法查找的实现
- 二分法的实现
- 二分法的简单实现
- 快速排序、二分法查找的PHP实现代码
- 全面的算法和数据结构知识(含代码实现)
- Linux下知识的总结和整理
- JVM的相关知识整理和学习
- JVM的相关知识整理和学习
- JVM的相关知识整理和学习
- JVM的相关知识整理和学习
- JVM的相关知识整理和学习
- JVM的相关知识整理和学习
- JVM的相关知识整理和学习
- 对代理模式与Java动态代理类的理解
- NotifyIcon实现托盘程序
- 数字证据与计算机犯罪
- 幽默笑话
- 如何在C#中遍历hashtable?
- 二分法的知识整理和代码的实现
- Qt里的OpenGL
- WindowsCE.NET CEPC 的建立
- union 和union all 区别
- C++ Character
- Qt导入.qrc资源文件
- [转]c#操作Access
- Asp.Net防止刷新重复提交数据
- Qt里的.ui