Solution of Nonlinear Equations Topic: Bisection method
-
Upload
oscar-cross -
Category
Documents
-
view
101 -
download
8
description
Transcript of Solution of Nonlinear Equations Topic: Bisection method
![Page 1: Solution of Nonlinear Equations Topic: Bisection method](https://reader033.fdocuments.in/reader033/viewer/2022061508/56813022550346895d95a37c/html5/thumbnails/1.jpg)
Solution of Nonlinear Equations
Topic: Bisection method
Numerical AnalysisNumerical Analysis
![Page 2: Solution of Nonlinear Equations Topic: Bisection method](https://reader033.fdocuments.in/reader033/viewer/2022061508/56813022550346895d95a37c/html5/thumbnails/2.jpg)
Bisection Method• The method is known as the Bolzano method
and can be called interval halving technique.• The method is simple and straight-forward.• Given a bracketed root, the method repeatedly
halves the interval while continuing to bracket the root and it will converge on the solution.
![Page 3: Solution of Nonlinear Equations Topic: Bisection method](https://reader033.fdocuments.in/reader033/viewer/2022061508/56813022550346895d95a37c/html5/thumbnails/3.jpg)
Step 1
Choose xl and xu as two guesses for the root such that f(xl) f(xu) < 0, or in other words, f(x) changes sign between xl and xu.
x
f(x)
xu x
![Page 4: Solution of Nonlinear Equations Topic: Bisection method](https://reader033.fdocuments.in/reader033/viewer/2022061508/56813022550346895d95a37c/html5/thumbnails/4.jpg)
Step 2
x
f(x)
xu x
Estimate the root, xm of the equation f (x) = 0 as the mid-point between xl and xu as
xx
m = x u
2
![Page 5: Solution of Nonlinear Equations Topic: Bisection method](https://reader033.fdocuments.in/reader033/viewer/2022061508/56813022550346895d95a37c/html5/thumbnails/5.jpg)
Step 3Now check the following
If f(xl) f(xm) < 0, then the root lies between xl and xm; then xl = xl ; xu = xm.
If f(xl ) f(xm) > 0, then the root lies between xm and xu; then xl = xm; xu = xu.
If f(xl) f(xm) = 0; then the root is xm. Stop the algorithm if this is true.
x
f(x)
xu x
xm
![Page 6: Solution of Nonlinear Equations Topic: Bisection method](https://reader033.fdocuments.in/reader033/viewer/2022061508/56813022550346895d95a37c/html5/thumbnails/6.jpg)
Step 4
xx
m = xu
2
100
newm
oldm
new
a x
xxm
root of estimatecurrent newmx
root of estimate previousoldmx
New estimate
Absolute Relative Approximate Error
![Page 7: Solution of Nonlinear Equations Topic: Bisection method](https://reader033.fdocuments.in/reader033/viewer/2022061508/56813022550346895d95a37c/html5/thumbnails/7.jpg)
Step 5
Check if absolute relative approximate error is lessthan pre-specified tolerance or if maximum numberof iterations is reached.
Yes
No
Stop
Using the new upper and lower
guesses from Step 3, go to Step 2.
![Page 8: Solution of Nonlinear Equations Topic: Bisection method](https://reader033.fdocuments.in/reader033/viewer/2022061508/56813022550346895d95a37c/html5/thumbnails/8.jpg)
Example• You are working for ‘DOWN THE TOILET COMPANY’ that
makes floats for ABC commodes. The ball has a specific gravity of 0.6 and has a radius of 5.5 cm. You are asked to find the distance to which the ball will get submerged when floating in water.
![Page 9: Solution of Nonlinear Equations Topic: Bisection method](https://reader033.fdocuments.in/reader033/viewer/2022061508/56813022550346895d95a37c/html5/thumbnails/9.jpg)
SolutionThe equation that gives the depth ‘x’ to which the ball is
submerged under water is given by
423 10x99331650 -.+x.-xxf
Use the Bisection 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.
![Page 10: Solution of Nonlinear Equations Topic: Bisection method](https://reader033.fdocuments.in/reader033/viewer/2022061508/56813022550346895d95a37c/html5/thumbnails/10.jpg)
Graph of function f(x)
423 10x99331650 -.+x.-xxf
![Page 11: Solution of Nonlinear Equations Topic: Bisection method](https://reader033.fdocuments.in/reader033/viewer/2022061508/56813022550346895d95a37c/html5/thumbnails/11.jpg)
Checking if the bracket is valid
Choose the bracket
4
4
10x662.211.0
10x993.30.0
11.0
00.0
f
f
x
x
u
![Page 12: Solution of Nonlinear Equations Topic: Bisection method](https://reader033.fdocuments.in/reader033/viewer/2022061508/56813022550346895d95a37c/html5/thumbnails/12.jpg)
Iteration #1
055.02
11.00
11.0,0
m
u
x
xx
5
4
4
10x655.6055.0
10x662.211.0
10x993.30
f
f
f
11.0
055.0
ux
x
![Page 13: Solution of Nonlinear Equations Topic: Bisection method](https://reader033.fdocuments.in/reader033/viewer/2022061508/56813022550346895d95a37c/html5/thumbnails/13.jpg)
Iteration #2
%33.33
0825.02
11.0055.0
11.0,055.0
a
m
u
x
xx
0825.0,055.0
10x62216.10825.0
10x662.211.0
10x655.6055.0
4
4
5
uxx
f
f
f
![Page 14: Solution of Nonlinear Equations Topic: Bisection method](https://reader033.fdocuments.in/reader033/viewer/2022061508/56813022550346895d95a37c/html5/thumbnails/14.jpg)
Iteration #3
06875.02
0825.0055.0
0825.0,055.0
m
u
x
xx
5
4
5
10x5632.506875.0
10x62216.10825.0
10x655.6055.0
%20
f
f
f
a
![Page 15: Solution of Nonlinear Equations Topic: Bisection method](https://reader033.fdocuments.in/reader033/viewer/2022061508/56813022550346895d95a37c/html5/thumbnails/15.jpg)
Convergence
Table 1: Root of f(x)=0 as function of number of iterations for bisection method.
Iteration x xu xm a % f(xm)
1
2
3
4
5
6
7
8
9
10
0.00000
0.055
0.055
0.055
0.06188
0.06188
0.06188
0.06188
0.0623
0.0623
0.11
0.11
0.0825
0.06875
0.06875
0.06531
0.06359
0.06273
0.06273
0.06252
0.055
0.0825
0.06875
0.06188
0.06531
0.06359
0.06273
0.0623
0.06252
0.06241
----------
33.33
20.00
11.11
5.263
2.702
1.369
0.6896
0.3436
0.1721
6.655x10-5
-1.6222x10-4
-5.5632x10-5
4.4843x10-6
-2.5939x10-5
-1.0804x10-5
-3.1768x10-6
6.4973x10-7
-1.2646x10-6
-3.0767x10-7
![Page 16: Solution of Nonlinear Equations Topic: Bisection method](https://reader033.fdocuments.in/reader033/viewer/2022061508/56813022550346895d95a37c/html5/thumbnails/16.jpg)
Bisection Method
DO while 0.5*|x1 - x2| >= tolerance_value
Set xmid =(x1 + x2)/2
IF f(xmid) of opposite sign of f(x1);
Set x2 = xmid;
ELSE
Set x1 = xxmid;
ENDIF
END loop
A basic loop that is used to find root between two points for a function f(x) is shown here.
![Page 17: Solution of Nonlinear Equations Topic: Bisection method](https://reader033.fdocuments.in/reader033/viewer/2022061508/56813022550346895d95a37c/html5/thumbnails/17.jpg)
Bisection Method
DemoBisect: the example program does a simple bisection for a cubic polynomial equation.
![Page 18: Solution of Nonlinear Equations Topic: Bisection method](https://reader033.fdocuments.in/reader033/viewer/2022061508/56813022550346895d95a37c/html5/thumbnails/18.jpg)
Bisection Method• Example Problem:
y(x) = a5 x5 + a4 x4 + a3 x3 + a2 x2 + a1 x + a0
• Let us consider constants to be following: a0 = -2, a1 = -3, a2 = 4, a3 = 1, a4 = 0, a5 = 1
Then the function:
y(x) = x5 + x3 + 4x2 - 3x - 2
First we plot this function in a range from -3 to 3 and see visually where roots are located.
![Page 19: Solution of Nonlinear Equations Topic: Bisection method](https://reader033.fdocuments.in/reader033/viewer/2022061508/56813022550346895d95a37c/html5/thumbnails/19.jpg)
Bisectional Method
There are 3 roots
(a) -2 < x < -1
(b) -1 < x < 0
(c) 0.5 < x <1.5
The graph for the function is shown here.
![Page 20: Solution of Nonlinear Equations Topic: Bisection method](https://reader033.fdocuments.in/reader033/viewer/2022061508/56813022550346895d95a37c/html5/thumbnails/20.jpg)
Computer Program for Bisection method% A program in matlab % bisection method to find the roots of x^5+x^3+4*x^2-3*x-2=0 xleft = -2.0 ; xright = -1.0 ; n = 100% Input: xleft,xright = left and right brackets of the root% n = (optional) number of iterations; default: n =15% Output: x = estimate of the root if nargin<3, n=15; end % Default number of iterations a = xleft; b =xright; % Copy orig bracket to local variablesfa = a^5 + a^3 +4*a^2 - 3*a - 2; % Initial values fb = b^5 + b^3 +4*b^2 - 3*b - 2; % Initial values fprintf(' k a xmid b f(xmid)\n'); for k=1:n xm = a + 0.5*(b-a); % Minimize roundoff in the midpoint fm = xm^5 + xm^3 +4*xm^2 - 3*xm - 2; % f(x) at midpoint fprintf('%3d %12.8f %12.8f %12.8f %12.3e\n',k,a,xm,b,fm); if sign(fm) == sign(fa) a = xm; fa = fm; else b = xm; fb = fm; endend
![Page 21: Solution of Nonlinear Equations Topic: Bisection method](https://reader033.fdocuments.in/reader033/viewer/2022061508/56813022550346895d95a37c/html5/thumbnails/21.jpg)
Bisection Method k a xmid b f(xmid) 1 -2.00000000 -1.50000000 -1.00000000 5.313e-001 2 -2.00000000 -1.75000000 -1.50000000 -6.272e+000 3 -1.75000000 -1.62500000 -1.50000000 -2.184e+000 4 -1.62500000 -1.56250000 -1.50000000 -6.748e-001 5 -1.56250000 -1.53125000 -1.50000000 -3.612e-002 6 -1.53125000 -1.51562500 -1.50000000 2.562e-001 7 -1.53125000 -1.52343750 -1.51562500 1.122e-001 8 -1.53125000 -1.52734375 -1.52343750 3.860e-002 9 -1.53125000 -1.52929688 -1.52734375 1.379e-003 10 -1.53125000 -1.53027344 -1.52929688 -1.734e-002 11 -1.53027344 -1.52978516 -1.52929688 -7.971e-003 12 -1.52978516 -1.52954102 -1.52929688 -3.294e-003 13 -1.52954102 -1.52941895 -1.52929688 -9.572e-004 14 -1.52941895 -1.52935791 -1.52929688 2.108e-004 15 -1.52941895 -1.52938843 -1.52935791 -3.732e-004 16 -1.52938843 -1.52937317 -1.52935791 -8.117e-005 17 -1.52937317 -1.52936554 -1.52935791 6.482e-005 18 -1.52937317 -1.52936935 -1.52936554 -8.174e-006 19 -1.52936935 -1.52936745 -1.52936554 2.832e-005 20 -1.52936935 -1.52936840 -1.52936745 1.008e-005
For range of x = [-2, -1]; we see x = -1.5293684 as root here.
![Page 22: Solution of Nonlinear Equations Topic: Bisection method](https://reader033.fdocuments.in/reader033/viewer/2022061508/56813022550346895d95a37c/html5/thumbnails/22.jpg)
Advantages & Disadvantages
Advatages:• Always convergent• The root bracket gets halved with each iteration -
guaranteed.
Disadvatanges: • Slow convergence• If one of the initial guesses is close to the root,
the convergence is slower
![Page 23: Solution of Nonlinear Equations Topic: Bisection method](https://reader033.fdocuments.in/reader033/viewer/2022061508/56813022550346895d95a37c/html5/thumbnails/23.jpg)
Drawbacks (continued)• If a function f(x) is such that it just touches the x-axis it
will be unable to find the lower and upper guesses.
2xxf
![Page 24: Solution of Nonlinear Equations Topic: Bisection method](https://reader033.fdocuments.in/reader033/viewer/2022061508/56813022550346895d95a37c/html5/thumbnails/24.jpg)
Drawbacks (continued) Function changes sign but root does not exist
x
xf1