二分法简介

来源:互联网 发布:mac怎么换浏览器 编辑:程序博客网 时间:2024/06/05 17:05

数学方面:

一般地,对于函数f(x),如果存在实数c,当x=c时,若f(c)=0,那么把x=c叫做函数f(x)的零点。  

解方程即要求f(x)的所有零点。   

假定f(x)在区间(x,y)上连续 

 先找到a、b属于区间(x,y),使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.

  由于计算过程的具体运算复杂,但每一步的方式相同,所以可通过编写程序来运算。

重点部分:

先算出所求数值范围;

进行二分判断;

注意跳出二分时的条件

0 0