Numerical Analysis ECIV 3306 -...
Transcript of Numerical Analysis ECIV 3306 -...
The Islamic University of Gaza
Faculty of Engineering
Civil Engineering Department
Numerical Analysis
ECIV 3306
Chapter 5
Bracketing Methods
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 −−
=⇒=++m
?0sin
?02345
=⇒=+
=⇒=+++++
xxx
xfexdxcxbxax
ROOTS OF EQUATIONS
• Non-computer methods:
- Closed form solution (not always available)
- Graphical solution (inaccurate)
• Numerical systematic methods suitable for
computers
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
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)
Special
Cases
Effect of computer scale
resolution
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 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; 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
Bisection Method - Termination Criteria
• For the Bisection Method εa > εt
• The computation is terminated when εa
becomes less than a certain criterion (εa < εs)
%100
:
×−
=
true
eapproximattrue
tX
XX
ErrorrelaiveTrue
ε
1
:
100%
100% (Bisection)
n n
r ra n
r
u la
u l
Approximate relative Error
X X
X
X X
X X
ε
ε
−−
= ×
−= ×
+
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
Iter. Xl Xu Xr εεεεa% εεεεt%
1 12 16 14 5.279 --
2 14 16 15 6.667 1.487
3 14 15 14.5 3.448 1.896
4 14.5 15 14.75 1.695 1.204
5 14.75 15 14.875 0.84 0.641
6 14.74 14.875 14.813 0.422 0.291
• In the previous example, if the stopping criterion is εt =
0.5%; what is the root?
Bisection method: Example
Bisection method
Flow Chart –Bisection Start
Input: xl , xu , εs, maxi
f(xl). f(xu)<0
i=0
εa=1.1εs
False
while
εa> εs &
i <maxi
2
1
u r
r
x xx
i i
+=
= +
False
Stop
Print: xr , f(xr ) ,εa , i
xu+xl =0
100%u l
a
u l
x x
x xε
−=
+
True
Test=f(xl). f(xr)
εa=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).
• 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.
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(x)
x xu xl
f(xu)
f(xl)
xr
f(xr)
)()(
))((
)()(
ul
uluur
ur
u
lr
l
xfxf
xxxfxx
xx
xf
xx
xf
−
−−=
−=
−
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
)()(
))((
ul
uluur
xfxf
xxxfxx
−
−−=
False-position Method -Procedure
False position 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
−
−=
40)1(38.667
)(
)1()(
146843.0−−=
−−=
−
−
c
tm
c
ec
cf
vec
mgcf
f(x)
x 16 12
-2.269
6.067
14.91
False position method: Example
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 bet. 12 and 14.9113.
4. Assume xl = 12 and xu=14.9113, f(xl)=6.067 and
f(xu)=-0.2543
5. The new root xr= 14.7942
6. This has an approximate error of 0.79%
False position method: Example
Flow Chart –False Position Start
Input: xl , x0 , εs, maxi
f(xl). f(xu)<0
i=0
εa=1.1εs
False
while
εa> εs &
i <maxi
( )( )
( ) ( )
1
u l ur u
l u
f x x xx x
f x f x
i i
−= −
−
= +
False
Stop
Print: xr , f(xr ) ,εa , i
i=1
or
xr=0
0 100%r r
a
r
x x
xε
−=
True
Test=f(xl). f(xr)
εa=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
Pitfalls of the False Position Method
• Although a method such as false position is often superior to
bisection, there are some cases (when function has significant
curvature that violate this general conclusion.
• In such cases, the approximate error might be misleading and
the results should always be checked by substituting the root
estimate into the original equation and determining whether
the result is close to zero.
• major weakness of the false-position method: its one
sidedness That is, as iterations are proceeding, one of the
bracketing points will tend stay fixed which lead to poor
convergence.
Modified Fixed Position
• One way to mitigate the "one-sided" nature of
false position is to make the algorithm detect
when one of the bounds is stuck. If this occur,
the function value at the stagnant bound is
divided in half. This is thought to fasten the
convergence.