SlideShare a Scribd company logo
南开大学暑期 ACM 集训之
   二分法解方程
1) 问题:
          给定方程 f(x)=0, 设 f(x) 在区间 [a,b] 连续 , 且
f(a)f(b)<0, 则方程 f(x) 在 (a,b) 内至少有一根 , 为便于讨论
, 不妨设方程 f(x)=0 在 (a,b) 内只有一个 ( 重根视为一个 )x*
                         ~
                         x
实根         ,求满足精度要求的的近似值实根                  。

   2) 解题思路
取 [a,b] 区间二等分的中点 x1 =(a+b)/2,
若 f(x1)=0, 则 x1 是 f(x)=0 的实根
若 f(a)f(x1)<0 成立 , 则* x    必在区间 (a, x1) 内 , 取
a1=a,b*= x1; 否则
    x1               必在区间 (x1,b) 内 , 取 a1= x1,b =b,
                                               1

这样 , 得到新区间 [a1,b1], 其长度为 [a,b] 的一半 , 如此继
续下去 , 进行 n 次等分后 , 得到一组不断缩小的区间 ,
[a,b],[a1,b1],......[an,bn]….
中每一个区间都是前一个长度的一半 , 从而 [ ,                                an bn
                                                      ] 的长度为
                             bn − an = (b − a) / 2n
此继续下去 , 则有这些区间将收敛于一点                            , 该点即为所求的根 .
做到第 n 步时,若有
                                bn − an ≤ ε
为给定精度

时        ∀~ ∈ [an , bn ]
          x                   x* ~
                            均满足 − x ≤ ε                   即为所求方程的

    以上方法就是用于求方程实根近似值的二分法

3) 迭代步数 n 的确定
    因为
                                              b− a
                           bn − an = bn − an = n
                                               2
所以由 bn − an ≤ ε                      得
                 b −a                   b −a
                      ≤ ε ⇒ n ≥ log 2 (      )
                  2 n
                                          ε
                       b−a
因此只要对分    n = [log 2 (        )] + 1                  次,则
                         ε
     ~ ∈ [a , b ]
    ∀x                           ~
            n n          x* −x ≤ε                有
          an−1 + bn−1   [ an , bn ]
     xn =
注:因为           2                 为                     的一个端
[ a, b]
点,所以将区间 1 = [log ( b − a )]
      n−                    2
                                ε
              对分
          [ an−1 , bn−1 ]       xn       x   *


后,取                         ≤ε
                     x* −xn 的中点                      作为
的近似值,满足
4) 计算框架图
收敛性分析
         现在来研究用二分法求 函数的根时的精确性。假定 f(
 是连续函数 , 并且它在区间 [a0.b0] 的两端点 所取的值有相反
的符号 , 于是在 [a0.b0] 中有一个根 r, 如果用中点 c0 = (a0+b0)/2
作为对 r 的估计则有的 r- c0 ≤(b0 -a0)/2. 如图所示 :
         r- c0 
       ←→
 →
 a0      r        c0      b0
现在应用二分算法 , 并将算出的量用 a0, b0 ,c0,a1,b1,c1 等来表
示 , 则由同样的推理 , r- cn≤(bn-an)/2   n=0,1,2,......
由于这些区间的宽度在每一步中都除以 2, 所以可断定
r- cn≤   b0 − a0 可见经过 n 步后将算出一个近似根其误
          2n+1
差至多为     (b0 − a0 ) 2n+1
二分法的优缺点

      二分法计算过程简单 , 程序容易实现 . 可在
大范围内求根,但该方法收敛较慢 , 且不能求重根
和复根 , 一般用于求根的初始近似值 , 而后在使用其
它的求根方法。
      二分法收敛速度不快 , 其收敛速度仅与一个
以 1/2 为比值的等比级数相同 。
例题求解

  例 1: 用二分法求方程 2 x
                           3
                               − 5x − 1 = 0
   在区间 (1,2)
                        ε ≤ 10 −2
内的实根 , 要求误差限为                                 。
           f ( x) = 2 x − 5x − 1
             3

解:令

f(1)<0, f(2)>0 记 I0=[1,2] , x0 =(1+2)/2=1.5
因为 f(x0) f(1)>0 得 I1=[1.5, 2] , x1 =(1.5+2)/2=1.75
f(x1) f(1.5)<0 得 I2=[1.5, 1.75] , x2 =(1.5+1.75)/2=1.625
…….
I6=[1.681875, 1.6875], I7=[1.671875, 1.679688]
b7 - a7=0.7813×10-2 < 10-2

∴x*≈x7 =1.6758
例 2 ,求方程 f(x)= x 3 –e-x =0 的一个实根。
  因为 f(0)<0,f(1)>0 。 故 f(x) 在 (0,1) 内有根
用二分法解之, (a,b ) = ( 0,1)’ 计算结果如表:
k    a       bk           xk       f(xk) 符号
0    0       1           0.5000         -
1    0.5000 -                   0.7500
-
2    0.7500 -                   0.8750
+
3    -       0.8750      0.8125          +
4    -       0.8125      0.7812          +
5    -       0.7812      0.7656          -
6    0.7656 -                   0.7734
+
7    -       0.7734      0.7695         -
8    0.7695 -                   0.7714
-
9    0.7714 -                   0.7724
相关练习
 1133:   铁皮容器

More Related Content

PDF
S98-02師大附中試題
PDF
學測公式
PDF
指考乙公式
PDF
指考甲公式
PDF
曲線弧長
PDF
S101-36北市中正高中
PDF
三次多項式圖形探討
PDF
S100-39北市松山家商試題
S98-02師大附中試題
學測公式
指考乙公式
指考甲公式
曲線弧長
S101-36北市中正高中
三次多項式圖形探討
S100-39北市松山家商試題

What's hot (19)

PDF
104學年度四技二專統一入學測驗-數學
PDF
龍騰[掌握]數學A複習講義
PDF
龍騰[突破]數學B複習講義
PDF
龍騰超簡單數學B、C複習講義
PDF
龍騰[掌握]數學B複習講義
PDF
龍騰[掌握]數學C複習講義
DOC
2 1整數
DOC
1 3函數
PDF
Test(p1~p5)
PDF
Test(p1~p5)
DOC
PDF
龍騰數學統測必考高頻率題型
DOC
3 7複數的極式
PPT
7习题课 机械波
PPT
Simplex 简单形法
DOC
直线和圆
PPT
多级化Irt的设计20090913
PDF
Ppt 136-136
104學年度四技二專統一入學測驗-數學
龍騰[掌握]數學A複習講義
龍騰[突破]數學B複習講義
龍騰超簡單數學B、C複習講義
龍騰[掌握]數學B複習講義
龍騰[掌握]數學C複習講義
2 1整數
1 3函數
Test(p1~p5)
Test(p1~p5)
龍騰數學統測必考高頻率題型
3 7複數的極式
7习题课 机械波
Simplex 简单形法
直线和圆
多级化Irt的设计20090913
Ppt 136-136
Ad

Viewers also liked (20)

PPTX
Fuglar
PPT
Roadshow Presentation W10 2010 Final 100304
PPT
Pictures of my finished clay pot 1
PPT
White House
PPT
49871001
PPTX
Facebook Organic + Paid Strategy For Business
PPTX
Dt Bilbao
PPT
Jh hockey
PPT
Lions
PPT
Albania
PPT
Proyecto final
PPT
ภาคกลาง
PPT
Corso di carni
PPT
De la prehistoria a la historia
PPTX
Hallgrimur Glaerur
DOC
Ws5 1-3
PDF
Untitled Presentation
PPT
1759872654te1st
DOC
camera
PDF
Fast guidetonkoj
 
Fuglar
Roadshow Presentation W10 2010 Final 100304
Pictures of my finished clay pot 1
White House
49871001
Facebook Organic + Paid Strategy For Business
Dt Bilbao
Jh hockey
Lions
Albania
Proyecto final
ภาคกลาง
Corso di carni
De la prehistoria a la historia
Hallgrimur Glaerur
Ws5 1-3
Untitled Presentation
1759872654te1st
camera
Fast guidetonkoj
 
Ad

Similar to 南开大学暑期ACM集训 (20)

PDF
Algorithms.exercises.solution
DOC
实验四 用Mathematica软件作导数应用
DOC
实验四 用Mathematica软件作导数应用
DOC
通信网第二三章习题答案
PPT
第3章 离散系统的时域分析
PPTX
ncuma_數值求根法.pptx
PDF
Ppt 145-149
DOC
实验二 用Mathmatica软件求极限
DOC
实验二 用Mathmatica软件求极限
PPTX
二分逼近法_範例.pptx
ZIP
1 2向量的應用
PDF
Ppt 141-149
ZIP
1 5對數表與應用
PDF
向量分析 Cauchy-schwarz不等式之本質與意義-林琦焜
DOC
实验五 用Mathematica软件计算一元函数的积分
DOC
实验五 用Mathematica软件计算一元函数的积分
PPT
2012¸ßò»êýñ§ 3.2.2 ¼¸à಻í¬ôö³¤µäº¯êýä£ðí¿î¼þ_ðâèë½ìa°æ±øðþ1
DOC
3 2行列式
PPTX
2-4 Solution of Equilibrium Equations.pptx
PDF
S100-15北市北一女中
Algorithms.exercises.solution
实验四 用Mathematica软件作导数应用
实验四 用Mathematica软件作导数应用
通信网第二三章习题答案
第3章 离散系统的时域分析
ncuma_數值求根法.pptx
Ppt 145-149
实验二 用Mathmatica软件求极限
实验二 用Mathmatica软件求极限
二分逼近法_範例.pptx
1 2向量的應用
Ppt 141-149
1 5對數表與應用
向量分析 Cauchy-schwarz不等式之本質與意義-林琦焜
实验五 用Mathematica软件计算一元函数的积分
实验五 用Mathematica软件计算一元函数的积分
2012¸ßò»êýñ§ 3.2.2 ¼¸à಻í¬ôö³¤µäº¯êýä£ðí¿î¼þ_ðâèë½ìa°æ±øðþ1
3 2行列式
2-4 Solution of Equilibrium Equations.pptx
S100-15北市北一女中

More from AXM (6)

PDF
A quick introduction for AT&T Hackathon
 
PDF
Wearable sketching
 
PDF
The not so short
 
PPT
The not so short introduction to Kinect
 
PPT
搜索初步
 
PDF
Chongqing Linux user group沙龙第一次Topic总结
 
A quick introduction for AT&T Hackathon
 
Wearable sketching
 
The not so short
 
The not so short introduction to Kinect
 
搜索初步
 
Chongqing Linux user group沙龙第一次Topic总结
 

南开大学暑期ACM集训

  • 1. 南开大学暑期 ACM 集训之 二分法解方程
  • 2. 1) 问题: 给定方程 f(x)=0, 设 f(x) 在区间 [a,b] 连续 , 且 f(a)f(b)<0, 则方程 f(x) 在 (a,b) 内至少有一根 , 为便于讨论 , 不妨设方程 f(x)=0 在 (a,b) 内只有一个 ( 重根视为一个 )x* ~ x 实根 ,求满足精度要求的的近似值实根 。 2) 解题思路 取 [a,b] 区间二等分的中点 x1 =(a+b)/2, 若 f(x1)=0, 则 x1 是 f(x)=0 的实根 若 f(a)f(x1)<0 成立 , 则* x 必在区间 (a, x1) 内 , 取 a1=a,b*= x1; 否则 x1 必在区间 (x1,b) 内 , 取 a1= x1,b =b, 1 这样 , 得到新区间 [a1,b1], 其长度为 [a,b] 的一半 , 如此继 续下去 , 进行 n 次等分后 , 得到一组不断缩小的区间 , [a,b],[a1,b1],......[an,bn]….
  • 3. 中每一个区间都是前一个长度的一半 , 从而 [ , an bn ] 的长度为 bn − an = (b − a) / 2n 此继续下去 , 则有这些区间将收敛于一点 , 该点即为所求的根 . 做到第 n 步时,若有 bn − an ≤ ε 为给定精度 时 ∀~ ∈ [an , bn ] x x* ~ 均满足 − x ≤ ε 即为所求方程的 以上方法就是用于求方程实根近似值的二分法 3) 迭代步数 n 的确定 因为 b− a bn − an = bn − an = n 2
  • 4. 所以由 bn − an ≤ ε 得 b −a b −a ≤ ε ⇒ n ≥ log 2 ( ) 2 n ε b−a 因此只要对分 n = [log 2 ( )] + 1 次,则 ε ~ ∈ [a , b ] ∀x ~ n n x* −x ≤ε 有 an−1 + bn−1 [ an , bn ] xn = 注:因为 2 为 的一个端 [ a, b] 点,所以将区间 1 = [log ( b − a )] n− 2 ε 对分 [ an−1 , bn−1 ] xn x * 后,取 ≤ε x* −xn 的中点 作为 的近似值,满足
  • 6. 收敛性分析 现在来研究用二分法求 函数的根时的精确性。假定 f( 是连续函数 , 并且它在区间 [a0.b0] 的两端点 所取的值有相反 的符号 , 于是在 [a0.b0] 中有一个根 r, 如果用中点 c0 = (a0+b0)/2 作为对 r 的估计则有的 r- c0 ≤(b0 -a0)/2. 如图所示 : r- c0  ←→ → a0 r c0 b0 现在应用二分算法 , 并将算出的量用 a0, b0 ,c0,a1,b1,c1 等来表 示 , 则由同样的推理 , r- cn≤(bn-an)/2 n=0,1,2,...... 由于这些区间的宽度在每一步中都除以 2, 所以可断定 r- cn≤ b0 − a0 可见经过 n 步后将算出一个近似根其误 2n+1 差至多为 (b0 − a0 ) 2n+1
  • 7. 二分法的优缺点 二分法计算过程简单 , 程序容易实现 . 可在 大范围内求根,但该方法收敛较慢 , 且不能求重根 和复根 , 一般用于求根的初始近似值 , 而后在使用其 它的求根方法。 二分法收敛速度不快 , 其收敛速度仅与一个 以 1/2 为比值的等比级数相同 。
  • 8. 例题求解 例 1: 用二分法求方程 2 x 3 − 5x − 1 = 0 在区间 (1,2) ε ≤ 10 −2 内的实根 , 要求误差限为 。 f ( x) = 2 x − 5x − 1 3 解:令 f(1)<0, f(2)>0 记 I0=[1,2] , x0 =(1+2)/2=1.5 因为 f(x0) f(1)>0 得 I1=[1.5, 2] , x1 =(1.5+2)/2=1.75 f(x1) f(1.5)<0 得 I2=[1.5, 1.75] , x2 =(1.5+1.75)/2=1.625 ……. I6=[1.681875, 1.6875], I7=[1.671875, 1.679688] b7 - a7=0.7813×10-2 < 10-2 ∴x*≈x7 =1.6758
  • 9. 例 2 ,求方程 f(x)= x 3 –e-x =0 的一个实根。 因为 f(0)<0,f(1)>0 。 故 f(x) 在 (0,1) 内有根 用二分法解之, (a,b ) = ( 0,1)’ 计算结果如表: k a bk xk f(xk) 符号 0 0 1 0.5000 - 1 0.5000 - 0.7500 - 2 0.7500 - 0.8750 + 3 - 0.8750 0.8125 + 4 - 0.8125 0.7812 + 5 - 0.7812 0.7656 - 6 0.7656 - 0.7734 + 7 - 0.7734 0.7695 - 8 0.7695 - 0.7714 - 9 0.7714 - 0.7724
  • 10. 相关练习  1133: 铁皮容器