Bisection Method
Mechanical Engineering
        Berhe Nerea Kahsay
          Aksum University
College of Natural and Computational
              Sciences
                                       1
        Basis of Bisection Method
      Theorem An equation f(x)=0, where f(x) is a real continuous
              function, has at least one root between xl and xu if
              f(xl) f(xu) < 0. f(x)
                                        x
                                                         x
                                                  xu
    Figure 1 At least one root exists between the two points if the
    function is real, continuous, and changes sign.
2
         Basis of Bisection Method
                       f(x)
                                 x                     x
                                              xu
    Figure 2 If function f ( x ) does not change sign between two
       points, roots of the equation f ( x ) =0 may still exist between the
       two points.
3
            Basis of Bisection Method
         f(x)
                                          f(x)
                                                           x   xu
                                   x                                 x
                x    xu
    Figure 3 If the function f ( x ) does not change sign between two
            points, there may not be any roots for the equation f ( x ) =0
       between the two points.
4
           Basis of Bisection Method
                   f(x)
                                              xu
                                                   x
                             x   
    Figure 4 If the function f ( x ) changes sign between two points,
            more than one root for the equation f ( x ) =0 may exist
    between the two points.
5
                           Step 1
    Choose x and xu as two guesses for the root such
    that f(x) f(xu) < 0, or in other words, f(x) changes
    sign between x and xu. This was demonstrated in
                  f(x)
    Figure 1.
                      x
                                    x
                              xu
                       Figure 1
6
                        Step 2
    Estimate the root, xm of the equation f (x) = 0 as
    the mid point between x and xu as
                            f(x)
         x  xu
    xm =
            2
                                    x   xm
                                                        x
                                               xu
                                   Figure 5   Estimate of xm
7
                              Step 3
    Now check the following
    a) If f ( x l ) f ( x m ) < 0 , then the root lies between x
       and xm; then x = x ; xu = xm.
    a) If f ( x l ) f ( x m ) > 0 , then the root lies between xm
       and xu; then x = xm; xu = xu.
    a) If f ( x l ) f ( x m ) =0 ; then the root is xm. Stop the
       algorithm if this is true.
8
                               Step 4
    Find the new estimate of the root
                  x  xu
             xm =
                     2
    Find the absolute relative approximate error
                               old
                     x new
                       m
                           −x  m
              |∈a|=|       new
                                   |100%
                         xm
       where
                old
              x m =previous estimate of root
              new
             x m = current estimate of root
9
                            Step 5
     Compare the absolute relative approximate |∈ |
                                                      a
     error with the pre-specified error tolerance | ∈s |.
                                       Go to Step 2 using
                         Yes          new upper and lower
        Is |∈ a|> ∈ s?                      guesses.
                         No            Stop the algorithm
     Note one should also check whether the number
     of iterations is more than the maximum number of
     iterations allowed. If so, one needs to terminate
     the algorithm and notify the user about it.
10
                      Example 1
     You are working for ‘DOWN THE TOILET
     COMPANY’ that makes floats for ABC commodes.
     The floating ball has a specific gravity of 0.6 and
     has a radius of 5.5 cm. You are asked to find the
     depth to which the ball is submerged when
     floating in water.
             Figure 6 Diagram of the floating ball
11
                  Example 1 Cont.
       The equation that gives the depth x to which the
       ball is submerged under water is given by
                  x 3 −0 . 165 x 2 +3 . 993×10−4 =0
     a) Use the bisection method of finding roots of
       equations to find the depth x to which the ball is
       submerged under water. Conduct three iterations
       to estimate the root of the above equation.
     b) Find the absolute relative approximate error at
       the end of each iteration, and the number of
       significant digits at least correct at the end of
       each iteration.
12
                  Example 1 Cont.
     From the physics of the problem, the ball would
     be submerged between x = 0 and x = 2R,
         where R = radius of the ball,
     that is
          0≤x≤2 R
          0≤x≤2 ( 0.055 )
          0≤x≤0 .11
                      Figure 6 Diagram of the floating ball
13
                        Example 1 Cont.
          Solution
     To aid in the
     understanding of how
     this method works to find
     the root of an equation,
     the graph of f(x) is shown
     to the right,
     where
             3           2                −4
      f ( x ) =x −0 . 165 x +3 . 993×10
                                               Figure 7 Graph of the function f(x)
14
                           Example 1 Cont.
       Let us assume
            x ℓ =0 . 00
            x u =0 . 11
       Check if the function changes sign between x
       and xu .
              f ( x l ) =f ( 0 ) =( 0 ) −0 .165 ( 0 ) +3 . 993×10 =3 . 993×10− 4
                           3        2          −4
              f ( x u ) =f ( 0 . 11 ) =( 0 .11 )3 −0 . 165 ( 0 . 11 )2 +3 . 993×10−4 =−2 . 662×10−4
        Hence
           f ( x l ) f ( x u ) =f ( 0 ) f ( 0 . 11 ) =( 3 . 993×10−4 )(−2 . 662×10−4 ) < 0
     So there is at least on root between x and xu, that is between 0
     and 0.11
15
              Example 1 Cont.
     Figure 8 Graph demonstrating sign change between
16
                       initial limits
                             Example 1 Cont.
        Iteration 1                                    x ℓ +x u       0+ 0 .11
        The estimate of the root is             x m=              =            =0 . 055
                                                          2              2
     f ( x m ) =f ( 0 .055 )= ( 0 . 055 )3 −0 . 165 ( 0 . 055 )2 +3 . 993×10−4 =6 . 655×10−5
     f ( x l ) f ( x m ) =f ( 0 ) f ( 0 .055 )= ( 3 . 993×10− 4 )( 6 .655×10−5 ) >0
         Hence the root is bracketed between xm and xu, that is,
         between 0.055 and 0.11. So, the lower and upper limits of the
         new bracket are
                                 x l =0. 055 , x u =0 .11
         At this point, the absolute relative approximate error                       |∈a|
         cannot be calculated as we do not have a previous
         approximation.
17
           Example 1 Cont.
     Figure 9 Estimate of the root for Iteration 1
18
                             Example 1 Cont.
        Iteration 2                                  x ℓ +x u       0 . 055+ 0 .11
        The estimate of the root is           x m=              =                  =0 . 0825
                                                        2                  2
f ( x m ) =f ( 0 .0825 )= ( 0 . 0825 )3 −0 . 165 ( 0 . 0825 ) 2 +3 . 993×10−4 =−1 . 622×10−4
f ( x l ) f ( x m ) =f ( 0 . 055 ) f (0 . 0825 )=( −1. 622×10− 4 ) ( 6 . 655×10−5 ) <0
         Hence the root is bracketed between xand xm, that is,
         between 0.055 and 0.0825. So, the lower and upper limits of
         the new bracket are
                                   x l =0. 055 , x u =0. 0825
19
         Example 1 Cont.
     Figure 10 Estimate of the root for Iteration 2
20
                    Example 1 Cont.
     The absolute relative approximate error      |∈a| at the end of
     Iteration 2 is
                            x new − x old
                     |a|=| mnew m |×100
                            xm
                      0 . 0825−0 . 055
                     |                    |×100
                      0 . 0825
                     33 . 333%
      None of the significant digits are at least correct in the estimate
      root of xm = 0.0825 because the absolute relative approximate
      error is greater than 5%.
21
                              Example 1 Cont.
        Iteration 3                                    x ℓ +x u
        The estimate of the root is                                   0 . 055+ 0 . 0825
                                                x m=              =                     =0 . 06875
                                                           2                  2
 f ( x m ) =f ( 0 .06875 )= ( 0 . 06875 )3 −0 . 165 ( 0 . 06875 ) 2 +3 . 993×10−4 =−5 . 563×10−5
 f ( x l ) f ( x m ) =f ( 0 . 055 ) f ( 0 . 06875 )=( 6 . 655×10−5 )(−5 . 563×10−5 ) <0
         Hence the root is bracketed between xand xm, that is,
         between 0.055 and 0.06875. So, the lower and upper limits of
         the new bracket are
                                x l =0. 055 , x u =0 . 06875
22
           Example 1 Cont.
     Figure 11 Estimate of the root for Iteration 3
23
                    Example 1 Cont.
     The absolute relative approximate error   |∈a|at the end of
     Iteration 3 is
                        x new − x old
                  |a|=| mnew m |×100
                        xm
                       0 . 06875−0 . 0825
                     =|                   |×100
                       0 . 06875
                     =20%
      Still none of the significant digits are at least correct in the
      estimated root of the equation as the absolute relative
      approximate error is greater than 5%.
      Seven more iterations were conducted and these iterations are
      shown in Table 1.
24
                       Table 1 Cont.
     Table 1 Root of f(x)=0 as function of number of iterations for
     bisection method.
        Iteration     x        xu        xm        a %          f(xm)
            1       0.00000     0.11      0.055   ----------    6.655×10−5
            2        0.055      0.11     0.0825     33.33      −1.622×10−4
            3        0.055    0.0825    0.06875     20.00      −5.563×10−5
            4        0.055    0.06875   0.06188     11.11       4.484×10−6
            5       0.06188   0.06875   0.06531     5.263      −2.593×10−5
            6       0.06188   0.06531   0.06359     2.702      −1.0804×10−5
            7       0.06188   0.06359   0.06273     1.370      −3.176×10−6
            8       0.06188   0.06273    0.0623    0.6897       6.497×10−7
            9        0.0623   0.06273   0.06252    0.3436      −1.265×10−6
           10        0.0623   0.06252   0.06241    0.1721      −3.0768×10−7
25
                       Table 1 Cont.
     Hence the number of significant digits at least correct is given
     by the largest value or m for which
           |a|≤0 . 5×102−m
           0 . 1721≤0 . 5×102−m
           0 . 3442≤10 2−m
           log ( 0 . 3442 )≤2−m
           m≤2−log ( 0 .3442 )=2 . 463
     So
          m= 2
     The number of significant digits at least correct in the
     estimated root of 0.06241 at the end of the 10th iteration is 2.
26
                   Advantages
        Always convergent
        The root bracket gets halved with
         each iteration - guaranteed.
27
                    Drawbacks
        Slow convergence
        If one of the initial guesses is close
         to the root, the convergence is
         slower
28
            Drawbacks (continued)
        If a function f(x) is such that it just
         touches the x-axis it will be unable
         to find the lower and upper guesses.
29
           Drawbacks (continued)
        Function changes sign but root does
         not exist
30