Vous êtes sur la page 1sur 24

Secant Method

Major: All Engineering Majors

Authors: Autar Kaw, Jai Paul

http://numericalmethods.eng.usf.edu
Transforming Numerical Methods Education for STEM
Undergraduates

http://numericalmethods.eng.usf.e
05/15/10 du 1
Secant Method

http://numericalmethods.eng.usf.ed
Secant Method –
Derivation
f(x) Newton’s Method
f(xi )
xi +1 = xi - (1)
f ′(xi )
f(x i)
[x f( x )]
i, i

Approximate the
derivative f ( xi ) − f ( xi −1 )
f ′( x ) =
i
(2)
f(x i-1)
xi − xi −1
θ
X
Substituting Equation
xi+2 xi+1 xi
(2) into Equation (1)
gives the Secant
Figure 1 Geometrical illustration method f ( xi )( xi − xi −1 )
of the Newton-Raphson xi +1 = xi −
method. 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 xi +1 = xi −
representation of the Secant f ( xi ) − f ( xi −1 )
4
method. 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 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 3 Floating Ball


8 Problem. http://numericalmethods.eng.usf.edu
Example 1 Cont.
The equation that gives the depth x to which
the ball is submerged under water is given by
f ( x ) = x 3-0.165 x 2+3.993 ×10- 4
Use the Secant 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.
• Find the absolute relative approximate error
and the number of significant digits at least
correct at the end of each iteration.
9 http://numericalmethods.eng.usf.edu
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,

f ( x ) = x 3-0.165 x 2+3.993 ×10- 4


where

Figure 4 Graph of the function


f(x).
10 http://numericalmethods.eng.usf.edu
Example 1 Cont.
f ( xof
Let us assume the initial guesses of the root )=0
as x−1 = 0.02 and x0 = 0.05.

Iteration 1
The estimate of the root is
f ( x0 )( x0 − x−1 )
x1 = x0 −
f ( x0 ) − f ( x−1 )

= 0.05 −
(0.05 − 0.165( 0.05)
3
+ 3.993× 10− 4 ( 0.05 − 0.02)
2
)
( ) (
0.053 − 0.165( 0.05) + 3.993× 10− 4 − 0.023 − 0.165( 0.02) + 3.993× 10− 4
2 2
)
= 0.06461

11 http://numericalmethods.eng.usf.edu
Example 1 Cont.
∈a
The absolute relative approximate error at the
end of Iteration 1 is
x1 − x0
∈a = × 100
x1
0.06461− 0.05
= × 100
0.06461
= 22.62%

The number of significant digits at least correct is 0,


as you need an absolute relative approximate error
of 5% or less for one significant digits to be correct
in your result.
12 http://numericalmethods.eng.usf.edu
Example 1 Cont.

Figure 5 Graph of results of


13 Iteration 1. 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 )

= 0.06461−
(0.06461 − 0.165( 0.06461)
3 2
)
+ 3.993× 10− 4 ( 0.06461− 0.05)
( ) (
0.064613 − 0.165( 0.06461) + 3.993× 10− 4 − 0.053 − 0.165( 0.05) + 3.993× 10− 4
2 2
)
= 0.06241

14 http://numericalmethods.eng.usf.edu
Example 1 Cont.
∈a
The absolute relative approximate error at the
end of Iteration 2 is
x2 − x1
∈a = × 100
x2
0.06241− 0.06461
= × 100
0.06241
= 3.525%

The number of significant digits at least correct is 1,


as you need an absolute relative approximate error
of 5% or less.

15 http://numericalmethods.eng.usf.edu
Example 1 Cont.

Figure 6 Graph of results of


16 Iteration 2. 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 )

= 0.06241−
(0.06241 − 0.165( 0.06241)
3 2
)
+ 3.993× 10− 4 ( 0.06241− 0.06461)
( ) (
0.062413 − 0.165( 0.06241) + 3.993× 10− 4 − 0.053 − 0.165( 0.06461) + 3.993× 10− 4
2 2
)
= 0.06238

17 http://numericalmethods.eng.usf.edu
Example 1 Cont.
∈a
The absolute relative approximate error at the
end of Iteration 3 is
x3 − x2
∈a = × 100
x3
0.06238− 0.06241
= × 100
0.06238
= 0.0595%

The number of significant digits at least correct is 5,


as you need an absolute relative approximate error
of 0.5% or less.

18 http://numericalmethods.eng.usf.edu
Iteration #3

Figure 7 Graph of results of


19 Iteration 3. 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_m
THE END

http://numericalmethods.eng.usf.edu