Secant Method
Civil Engineering Majors
Authors: Autar Kaw, Jai Paul
http://numericalmethods.eng.usf.edu
Transforming Numerical Methods Education for STEM
Undergraduates
07/28/10 http://numericalmethods.eng.usf.edu 1
Secant Method
http://numericalmethods.eng.usf.edu
Secant Method – Derivation
f(x) Newton’s Method
f(xi )
xi +1 = xi - (1)
f ′(xi )
f(xi)
[x f( x )]
i, i
Approximate the derivative
f ( xi ) − f ( xi −1 )
f ′( xi ) = (2)
f(xi-1)
xi − xi −1
θ
X
Substituting Equation (2)
xi+2 xi+1 xi
into Equation (1) gives the
Secant method
Figure 1 Geometrical illustration of f ( xi )( xi − xi −1 )
the Newton-Raphson method. xi +1 = xi −
f ( xi ) − f ( xi −1 )
3 http://numericalmethods.eng.usf.edu
Secant Method – Derivation
The secant method can also be derived from geometry:
f(x)
The Geometric Similar Triangles
AB DC
=
f(xi) B AE DE
can be written as
f ( xi ) f ( xi −1 )
=
C
xi − xi +1 xi −1 − xi +1
f(xi-1)
E D A
On rearranging, the secant
X
xi+1 xi-1 xi method is given as
f ( xi )( xi − xi −1 )
Figure 2 Geometrical representation of xi +1 = xi −
the Secant method. f ( xi ) − f ( xi −1 )
4 http://numericalmethods.eng.usf.edu
Algorithm for Secant Method
5 http://numericalmethods.eng.usf.edu
Step 1
Calculate the next estimate of the root from two initial guesses
f ( xi )( xi − xi −1 )
xi +1 = xi −
f ( xi ) − f ( xi −1 )
Find the absolute relative approximate error
xi +1- xi
∈a = × 100
xi +1
6 http://numericalmethods.eng.usf.edu
Step 2
Find if the absolute relative approximate error is greater
than the prespecified relative error tolerance.
If so, go back to step 1, else stop the algorithm.
Also check if the number of iterations has exceeded the
maximum number of iterations.
7 http://numericalmethods.eng.usf.edu
Example 1
You are making a bookshelf to carry books that range from 8 ½ ” to 11”
in height and would take 29”of space along length. The material is wood
having Young’s Modulus 3.667 Msi, thickness 3/8 ” and width 12”. You
want to find the maximum vertical deflection of the bookshelf. The
vertical deflection of the shelf is given by
v( x) = 0.42493 x 10-4 x 3 − 0.13533 x 10 -8 x 5 − 0.66722 x 10-6 x 4 − 0.018507 x
where x is the position where the deflection is maximum. Hence to find
dv
the maximum deflection we need to find where f ( x) = = 0 and
conduct the second derivative test. dx
8 http://numericalmethods.eng.usf.edu
Example 1 Cont.
The equation that gives the position x where the deflection is maximum is
given by
f( x) = − 0.67665 x 10-8 x 4 − 0.26689 x 10-5 x 3 + 0.12748 x 10-3 x 2 − 0.018507 = 0
Books
Bookshelf
Figure 2 A loaded bookshelf.
Use the secant method of finding roots of equations to find the position
where the deflection is maximum. Conduct three iterations to estimate
the root of the above equation.
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.
9 http://numericalmethods.eng.usf.edu
Example 1 Cont.
0.02
0.01883
0.01
0
f ( x) 0
0.01
− 0.01851 0.02
0 5 10 15 20 25 30
0 x 29
f(x)
Figure 3 Graph of the function f(x).
f( x) = − 0.67665 x 10-8 x 4 − 0.26689 x 10-5 x 3 + 0.12748 x 10-3 x 2 − 0.018507 = 0
10 http://numericalmethods.eng.usf.edu
Example 1 Cont.
Solution
Let us take the initial guesses of the root of f ( x ) = 0 as x−1 = 10 and x0 = 15.
Iteration 1
The estimate of the root is
f ( x0 )( x0 − x−1 )
x1 = x0 −
f ( x0 ) − f ( x−1 )
f ( x0 ) = − 0.67665 × 10 −8 x04 − 2.6689 × 10 −5 x03 + 0.12748 × 10 −3 x02 − 0.018507
= − 0.67665 × 10 − 8 (15) − 2.6689 × 10 − 5 (15) + 0.12748 × 10 − 3 (15) − 0.018507
4 3 2
= 8.2591× 10 − 4
f ( x−1 ) = − 0.67665 × 10 −8 x−41 − 2.6689 × 10 −5 x−31 + 0.12748 × 10 −3 x−21 − 0.018507
= − 0.67665 × 10 −8 (10) − 2.6689 × 10 − 5 (10) + 0.12748 × 10 − 3 (10) − 0.018507
4 3 2
= − 8.4956 × 10 − 3
11 http://numericalmethods.eng.usf.edu
Example 1 Cont.
(8.2591×10 )(15 − 10)
0.03
−4 0.027
x1 = 15 −
(8.2591×10 ) − ( − 8.4956 ×10 )
−4 −3 0.02
= 14.557 f ( x) 0.01
f ( x)
0
f ( x) 0
secant ( x)
f ( x)
0.01
0.02
− 0.027 0.03
0 5 10 15 20 25 30
0 x, x 0 , x 1' , x, x 1 29
f(x)
x'1, (first guess)
x0, (previous guess)
Secant line
x1, (new guess)
Figure 4 Graph of the estimated
root after Iteration 1.
12 http://numericalmethods.eng.usf.edu
Example 1 Cont.
The absolute relative approximate error ∈a at the end of Iteration 1 is
x1 − x0
∈a = × 100
x1
14.557 − 15
= × 100
14.557
= 3.0433 %
The number of significant digits at least correct is 1, because the absolute
relative approximate error is less than 5%.
13 http://numericalmethods.eng.usf.edu
Example 1 Cont.
Iteration 2
The estimate of the root is
f ( x1 )( x1 − x0 )
x2 = x1 −
f ( x1 ) − f ( x0 )
f ( x1 ) = − 0.67665 × 10 −8 x14 − 2.6689 × 10 −5 x13 + 0.12748 × 10 −3 x12 − 0.018507
= − 0.67665 × 10 −8 (14.557 ) − 2.6689 × 10 − 5 (14.557 ) + 0.12748 × 10 − 3 (14.557 ) − 0.018507
4 3 2
= − 2.9870 × 10 − 5
x2 = 15 −
( − 2.9870 ×10 )(14.557 − 15)
−5
( − 2.9870 ×10 ) − (8.2591×10 )
−5 −4
= 14.572
14 http://numericalmethods.eng.usf.edu
Example 1 Cont.
0.03
0.028
0.02
f ( x) 0.01
f ( x)
0
f ( x) 0
secant ( x)
f ( x)
0.01
0.02
− 0.028 0.03
0 5 10 15 20 25 30
0 x, x 1 , x 0 , x, x 2 29
f(x)
x1 (guess)
x0 (previous guess)
Secant line
x2 (new guess)
Figure 5 Graph of the estimate root after Iteration 2.
15 http://numericalmethods.eng.usf.edu
Example 1 Cont.
The absolute relative approximate error ∈a at the end of Iteration 2 is
x2 − x1
∈a = × 100
x2
14.572 − 14.557
= × 100
14.572
= 0.10611 %
The number of significant digits at least correct is 2, because the absolute
relative approximate error is less than 0.5%.
16 http://numericalmethods.eng.usf.edu
Example 1 Cont.
Iteration 3
The estimate of the root is
f ( x2 )( x2 − x1 )
x3 = x2 −
f ( x2 ) − f ( x1 )
f ( x2 ) = − 0.67665 × 10 −8 x24 − 2.6689 × 10 −5 x23 + 0.12748 × 10 −3 x22 − 0.018507
= − 0.67665 × 10 −8 (14.572 ) − 2.6689 × 10 − 5 (14.572 ) + 0.12748 × 10 − 3 (14.572 ) − 0.018507
4 3 2
= − 6.0676 × 10 − 9
x2 = 14.572 −
( − 6.0676 × 10 )(14.572 − 14.557 )
−9
( − 6.0676 ×10 ) − ( − 2.9870 ×10 )
−9 −5
= 14.572
17 http://numericalmethods.eng.usf.edu
Example 1 Cont.
Entered function along given interval with current and next root and the
tangent line of the curve at the current root
0.03
0.028
0.02
f ( x)
0.01
f ( x)
0
f ( x) 0
secant ( x)
f ( x) 0.01
0.02
− 0.028 0.03
0 5.8 11.6 17.4 23.2 29
0 x, x 2 , x 1 , x, x 3 29
f(x)
x2 (guess)
x1 (previous guess)
Secant line
Figure 6 Graph of the estimate root after Iteration 3.
x3 (new guess)
18 http://numericalmethods.eng.usf.edu
Example 1 Cont.
The absolute relative approximate error ∈a at the end of Iteration 3 is
x2 − x1
∈a = × 100
x2
14.572 − 14.572
= × 100
14.572
= 2.1559 × 10 − 5%
The number of significant digits at least correct is 6, because the absolute
relative approximate error is less than 0.00005%.
19 http://numericalmethods.eng.usf.edu
Advantages
Converges fast, if it converges
Requires two guesses that do not need to
bracket the root
20 http://numericalmethods.eng.usf.edu
Drawbacks
2
2
f ( x)
0
f ( x) 0
f ( x)
−2 2
10 5 0 5 10
− 10 x, x guess1 , x guess2 10
f(x)
f ( x ) = Sin( x ) = 0
prev. guess
new guess
Division by zero
21 http://numericalmethods.eng.usf.edu
Drawbacks (continued)
2
2
f ( x)
f ( x)
0
f ( x) 0
secant ( x)
f ( x)
−2 2
10 5 0 5 10
− 10 x, x 0 , x 1' , x, x 1 10
f(x)
x'1, (first guess) f ( x ) = Sinx = 0
x0, (previous guess)
Secant line
x1, (new guess)
Root Jumping
22 http://numericalmethods.eng.usf.edu
Additional Resources
For all resources on this topic such as digital audiovisual
lectures, primers, textbook chapters, multiple-choice
tests, worksheets in MATLAB, MATHEMATICA, MathCad
and MAPLE, blogs, related physical problems, please
visit
http://numericalmethods.eng.usf.edu/topics/secant_method
THE END
http://numericalmethods.eng.usf.edu