Você está na página 1de 24

# Secant Method

## Authors: Autar Kaw, Jai Paul

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

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.

## 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,

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
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

##  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