Upload
doanphuc
View
257
Download
7
Embed Size (px)
Citation preview
The Islamic University of Gaza
Faculty of Engineering
Civil Engineering Department
Numerical Analysis
ECIV 3306
Chapter 5 Bracketing Methods
Associate Prof. Mazen Abualtayef Civil Engineering Department, The Islamic University of Gaza
PART II: ROOTS OF EQUATIONS
Roots of Equations
Bracketing Methods
Bisection method
False Position Method
Open Methods
Simple fixed point iteration
Newton Raphson
Secant
Modified Newton Raphson
System of Nonlinear Equations
Roots of polynomials
Muller Method
Study Objectives for Part Two
ROOTS OF EQUATIONS
• Root of an equation: is the value of the equation
variable which make the equations = 0.0
• But
a
acbbxcbxax
2
40
22
?0sin
?02345
xxx
xfexdxcxbxax
• Non-computer methods:
- Closed form solution (not always available)
- Graphical solution (inaccurate)
• Numerical systematic methods suitable for computers
ROOTS OF EQUATIONS
Graphical Solution
roots
• The roots exist where f(x) crosses the x-axis
f(x)
x f(x)=0 f(x)=0
• Plot the function f(x)
Graphical Solution: Example
• The parachutist velocity is
• What is the drag coefficient c needed to reach a velocity of
40 m/s if m=68.1 kg, t =10 s, g= 9.8 m/s2
)(t
m
c
e1c
mgv
40)1(38.667
)(
)1()(
146843.0
c
tm
c
ec
cf
vec
mgcf
c
f(c)
c=14.75 Check: F (14.75) = 0.059 ~ 0.0
v (c=14.75) = 40.06 ~ 40 m/s
Numerical Systematic Methods I. Bracketing Methods
f(x)
x
roots
f(xl)=+ve
f(xu)=+ve
xl xu
No roots or even
number of roots
f(x)
x
roots
f(xl)=+ve
f(xu)=-ve xl xu
Odd number of roots
Bracketing Methods (cont.)
• Two initial guesses (xl and xu) are required for the
root which bracket the root (s).
• If one root of a real and continuous function, f(x)=0,
is bounded by values xl , xu then f(xl).f(xu) <0.
(The function changes sign on opposite sides of the root)
Bracketing Methods 1. Bisection Method
• Generally, if f(x) is real and continuous in the interval xl to xu and f (xl).f(xu)<0, then there is at least one real root between xl and xu to this function.
• The bisection method, which is alternatively called binary chopping, interval halving, or Bolzano’s method, is one type of incremental search method in which the interval is always divided in half.
• The interval at which the function changes sign is located. Then the interval is divided in half with the root lies in the midpoint of the subinterval. This process is repeated to obtained refined estimates.
f(x)
x xu xl
f(xu)
f(xu)
xr1
f(x)
x xu xl
f(xu)
xr2
xr = ( xl + xu )/2
f(xu)
f(xr1)
f(xr2)
(f(xl).f(xr)<0): xu = xr
xr = ( xl + xu )/2
Step 1: Choose lower xl and upper xu
guesses for the root such that:
f(xl).f(xu)<0
Step 2: The root estimate is:
xr = ( xl + xu )/2
Step 3: Subdivide the interval according to:
– If (f(xl).f(xr)<0) the root lies in the
lower subinterval; set xu = xr and go to
step 2.
– If (f(xl).f(xr)>0) the root lies in the
upper subinterval; set xl = xr and go to
step 2.
– If (f(xl).f(xr)=0) the root is xr and stop
Bisection Method - Termination Criteria
• For the Bisection Method ea > et
• The computation is terminated when ea becomes less than a certain criterion (ea < es)
%100
:
true
eapproximattrue
tX
XX
ErrorrelaiveTrue
e
1
:
100%
100% (Bisection)
n n
r ra n
r
u la
u l
Approximate relative Error
X X
X
X X
X X
e
e
Bisection method: Example
• The parachutist velocity is
• What is the drag coefficient c needed to reach a velocity of
40 m/s if m = 68.1 kg, t = 10 s, g= 9.8 m/s2
f(c)
c
)(t
m
c
e1c
mgv
40e1c
38667cf
ve1c
mgcf
c1468430
tm
c
)(.
)(
)()(
.
f(x)
x 16 12
-2.269
6.067
14
f(x)
x 14 16 -0.425 -2.269
1.569
1.569
(f(12).f(14)>0): xl = 14
1. Assume xl =12 and xu=16
f(xl)=6.067 and f(xu)=-2.269
2. The root: xr=(xl+xu)/2= 14
3. Check f(12).f(14) = 6.067•1.569=9.517 >0;
the root lies between 14 and 16.
4. Set xl = 14 and xu=16, thus the new root
xr=(14+ 16)/2= 15
5. Check f(14).f(15) = 1.569•-0.425= -0.666 <0;
the root lies bet. 14 and 15.
6. Set xl = 14 and xu=15, thus the new root
xr=(14+ 15)/2= 14.5
and so on…...
15
40)1(38.667
)( 146843.0 cec
cf
True Value at Xr = 14.7802007701481
• In the previous example, if the stopping criterion is et =
0.5%; what is the root?
Bisection method: Example
1
:
100%
100% (Bisection)
n n
r ra n
r
u la
u l
Approximate relative Error
X X
X
X X
X X
e
e
%100
:
true
eapproximattrue
tX
XX
ErrorrelaiveTrue
e
Bisection method
Flow Chart –Bisection Start
Input: xl , xu , es, maxi
f(xl). f(xu)<0
i=0 ea=1.1es
False
while ea> es & i <maxi
2
1
u r
r
x xx
i i
False
Stop
Print: xr , f(xr ) ,ea , i
xu+xl =0
100%u l
a
u l
x x
x xe
True
Test=f(xl). f(xr)
ea=0.0 Test=0
xu=xr Test<0
xl=xr
True
True
False
Bracketing Methods 2. False-position Method
• The bisection method divides the interval xl to xu in
half not accounting for the magnitudes of f(xl) and
f(xu). For example if f(xl) is closer to zero than f(xu),
then it is more likely that the root will be closer to
f(xl).
• The fact that the replacement of the curve by a straight line gives a “false position” of the root is the origin of the name, method of false position. It is also called the linear interpolation method.
2. False-position Method
• False position method is
an alternative approach
where f(xl) and f(xu) are
joined by a straight line;
the intersection of which
with the x-axis represents
and improved estimate of
the root. f(xr)
2. False-position Method -Procedure
f(xr)
2. False-position Method -Procedure
Step 1: Choose lower xl and upper xu guesses for the
root such that: f(xl).f(xu)<0
Step 2: The root estimate is:
Step 3: Subdivide the interval according to:
– If (f(xl).f(xr)<0) the root lies in the lower subinterval; xu = xr and go to step 2.
– If (f(xl).f(xr)>0) the root lies in the upper subinterval; xl = xr and go to step 2.
– If (f(xl).f(xr)=0) the root is xr and stop
False-position Method -Procedure
• The parachutist velocity is
• What is the drag coefficient c needed to reach a
velocity of 40 m/s if m =68.1 kg, t =10 s, g= 9.8 m/s2
f(c)
c
)(t
m
c
e1c
mgv
40)1(38.667
)(
)1()(
146843.0
c
tm
c
ec
cf
vec
mgcf
False position method: Example
f(x)
x 16 12
-2.269
6.067
14.91
1. Assume xl = 12 and xu=16
f(xl)= 6.067 and f(xu)= -2.269
2. The root: xr=14.9113
f(12) . f(14.9113) = -1.5426 < 0;
3. The root lies between 12 and 14.9113.
4. Assume xl = 12 and xu=14.9113, f(xl)=6.067
and f(xu)=-0.2543 f(xl).f(xu)<0
5. The new root xr= 14.7942
6. This has an approximate error of 0.79%
False position method: Example 40)1(
38.667)( 146843.0 ce
ccf
False position method: Example
Flow Chart –False Position Start
Input: xl , x0 , es, maxi
f(xl). f(xu)<0
i=0 ea=1.1es
False
while ea> es & i <maxi
( )( )
( ) ( )
1
u l u
r u
l u
f x x xx x
f x f x
i i
False
Stop
Print: xr , f(xr ) ,ea , i
i=1 or
xr=0
0 100%r r
a
r
x x
xe
True
Test=f(xl). f(xr)
ea=0.0 Test=0
xu=xr
xr0=xr
Test<0
xl=xr
xr0=xr
True
True
False
False Position Method-Example 2
False Position Method-Example 2
Excel – Goal Seek Tool
Roots of Polynomials: Using Software Packages
MS Excel:Goal seek
f(x)=x-cos x