Roots of Equations Bracketing Methods.

Slides:



Advertisements
Similar presentations
Lecture 5 Newton-Raphson Method
Advertisements

Roundoff and truncation errors
CSE 330: Numerical Methods
Roots of Equations Our first real numerical method – Root finding
Civil Engineering Majors Author(s): Autar Kaw, Jai Paul
Open Methods Chapter 6 The Islamic University of Gaza
ROOTS OF EQUATIONS Student Notes ENGR 351 Numerical Methods for Engineers Southern Illinois University Carbondale College of Engineering Dr. L.R. Chevalier.
Regula-Falsi Method. Type of Algorithm (Equation Solver) The Regula-Falsi Method (sometimes called the False Position Method) is a method used to find.
Optimization Introduction & 1-D Unconstrained Optimization
Bisection Method (Midpoint Method for Equations).
Open Methods Chapter 6 The Islamic University of Gaza
ECIV 301 Programming & Graphics Numerical Methods for Engineers Lecture 7 Roots of Equations Bracketing Methods.
Chapter 4 Roots of Equations
Copyright © 2006 The McGraw-Hill Companies, Inc. Permission required for reproduction or display. by Lale Yurttas, Texas A&M University Chapter 51.
Roots of Equations Open Methods (Part 2).
Chapter 6 Open Methods.
Second Term 05/061 Roots of Equations Bracketing Methods.
ECIV 301 Programming & Graphics Numerical Methods for Engineers Lecture 6 Roots of Equations Bracketing Methods.
Open Methods (Part 1) Fixed Point Iteration & Newton-Raphson Methods
Revision.
ECIV 301 Programming & Graphics Numerical Methods for Engineers Lecture 9 Roots of Equations Open Methods.
Open Methods Chapter 6 The Islamic University of Gaza
Dr. Marco A. Arocha Aug,  “Roots” problems occur when some function f can be written in terms of one or more dependent variables x, where the.
NUMERICAL METHODS WITH C++ PROGRAMMING
ECIV 301 Programming & Graphics Numerical Methods for Engineers Lecture 8 Roots of Equations Open Methods.
Bracketing Methods Chapter 5 The Islamic University of Gaza
Roots of Equations Open Methods Second Term 05/06.
Numerical Analysis 1 EE, NCKU Tien-Hao Chang (Darby Chang)
MATH 175: NUMERICAL ANALYSIS II Lecturer: Jomar Fajardo Rabajante IMSP, UPLB 2 nd Semester AY
Solving Non-Linear Equations (Root Finding)
Copyright © 2006 The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 1 Part 2 Roots of Equations Why? But.
Lecture Notes Dr. Rakhmad Arief Siregar Universiti Malaysia Perlis
10/21/ Bisection Method Major: All Engineering Majors Authors: Autar Kaw, Jai Paul
Chapter 3 Roots of Equations. Objectives Understanding what roots problems are and where they occur in engineering and science Knowing how to determine.
Numerical Methods for Engineering MECN 3500
Numerical Methods.
Today’s class Roots of equation Finish up incremental search
4 Numerical Methods Root Finding Secant Method Modified Secant
Lecture 5 - Single Variable Problems CVEN 302 June 12, 2002.
The Islamic University of Gaza Faculty of Engineering Civil Engineering Department Numerical Analysis ECIV 3306 Chapter 5 Bracketing Methods.
Solving Non-Linear Equations (Root Finding)
Numerical Methods Solution of Equation.
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Applied Numerical Methods With MATLAB ® for Engineers.
Today’s class Numerical differentiation Roots of equation Bracketing methods Numerical Methods, Lecture 4 1 Prof. Jinbo Bi CSE, UConn.
Roots: Bracketing Methods
4 Numerical Methods Root Finding Secant Method Modified Secant
1/29/ Bisection Method Computer Engineering Majors Authors: Autar Kaw, Jai Paul
SOLVING NONLINEAR EQUATIONS. SECANT METHOD MATH-415 Numerical Analysis 1.
3/7/ Bisection Method Electrical Engineering Majors Authors: Autar Kaw, Jai Paul
CSE 330: Numerical Methods. What is true error? True error is the difference between the true value (also called the exact value) and the approximate.
Solution of Nonlinear Equations ( Root Finding Problems ) Definitions Classification of Methods  Analytical Solutions  Graphical Methods  Numerical.
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 1 Part 2 / Chapter 5.
Solution of Nonlinear Equations ( Root Finding Problems )
Lecture Notes Dr. Rakhmad Arief Siregar Universiti Malaysia Perlis
4 Numerical Methods Root Finding Secant Method Modified Secant
~ Roots of Equations ~ Bracketing Methods Chapter 5
Lecture 4: Numerical Methods
Part 2 / Chapter 5.
Computers in Civil Engineering 53:081 Spring 2003
Bisection Method.
MATH 175: Numerical Analysis II
Roots: Bracketing Methods
ROOTS OF EQUATIONS.
Sec:5.2 The Bisection Method.
Mechanical Engineering Majors Authors: Autar Kaw, Jai Paul
Roots: Bracketing Methods
Industrial Engineering Majors Authors: Autar Kaw, Jai Paul
Major: All Engineering Majors Authors: Autar Kaw, Jai Paul
Presentation transcript:

Roots of Equations Bracketing Methods

Root We are given f(x), a function of x, and we want to find α such that f(α) = 0 α is called the root of the equation f(x) = 0, or the zero of the function f(x)

Example: Interest Rate Suppose you want to buy an electronic appliance from a shop and you can either pay an amount of 12,000 or have a monthly payment of 1,065 for 12 months. What is the corresponding interest rate? We know the payment formulae is: A is the monthly payment P is the loan amount x is the interest rate per period of time n is the loan period To find the yearly interest rate, x, you have to find the zero of

Finding Roots Graphically Not accurate However, graphical view can provide useful info about a function. Multiple roots? Continuous? etc.

The following root finding methods will be introduced: A. Bracketing Methods A.1. Bisection Method A.2. Regula Falsi (False-position Method) B. Open Methods B.1. Fixed Point Iteration B.2. Newton Raphson's Method B.3. Secant Method

Bracketing Methods Theorem: If a function f(x) is continuous in the interval [a, b] and f(a)f(b) < 0, then the equation f(x) = 0 has at least one real root in the interval (a, b).

f(a)f(b) > 0 implies zero or even number of roots Usually f(a)f(b) > 0 implies zero or even number of roots [figure (a) and (c)] f(a)f(b) < 0 implies odd number of roots [figure (b) and (d)]

Functions that discontinue within the interval Exceptional Cases Multiple roots Roots that overlap at one point. e.g.: f(x) = (x-1)(x-1)(x-2) has a multiple root at x=1. Functions that discontinue within the interval

Algorithm for bracketing methods Step 1: Choose two points xl and xu such that f(xl)f(xu) < 0 Step 2: Estimate the root xr (note: xl < xr < xu) Step 3: Determine which subinterval the root lies: if f(xl)f(xr) < 0 // the root lies in the lower subinterval set xu to xr and goto step 2 if f(xl)f(xr) > 0 // the root lies in the upper subinterval set xl to xr and goto step 2 if f(xl)f(xr) = 0 xr is the root

How to select xr in step 2? Bisection Method Guess without considering the characteristics of f(x) in (xl, xu) False Position Method (Regula Falsi) Use "average slope" to predict the location of the root

A.1. Bisection Method Each guess reduce the search interval by half

Bisection Method – Example Find the root of f(x) = 0 with an approximated error below 0.5%. (True root: α=14.7802)

Example (continue) n xl xr xu f(xl) f(xr) f(xu) f(xl)f(xu) εa 12 16 12 16 6.067 -2.269 1 14 1.569 > 0 2 15 -0.425 < 0 6.667% 3 14.5 0.552 3.448% 4 14.75 0.0590 1.695% 5 14.875 -0.184 0.840% 6 14.8125 -0.0629 0.422%

Error Bounds The true root, α, must lie between xl and xu. xr xu Let xr(n) denotes xr in the nth iteration After the 1st iteration, the solution, xr(1), should be within an accuracy of xl(1) xu(1) xr(1)

Error Bounds Suppose the root lies in the lower subinterval. xl(2) xr(2) xu(2) xu(1) After the 2nd iteration, the solution, xr(2), should be within an accuracy of

Error Bounds In general, after the nth iteration, the solution, xr(n), should be within an accuracy of If we want to achieve an absolute error of no more than Eα

Implementation Issues The condition f(xl)f(xr) = 0 (in step 3) is difficult to achieve due to errors. We should repeat until xr is close enough to the root, but we don't know what the root is! One possible solution is to estimate the error as and repeat until ea < es (acceptable error)

Bisection Method (as C function) // xl, xu: Lower and upper bound of the interval // es: Acceptable relative percentage error // iter_max: Maximum # of iterations double Bisect(double xl, double xu, double es, int iter_max) { double xr; // Est. root double xr_old; // Est. root in the previous step double ea; // Est. error int iter = 0; // Keep track of # of iterations xr = xl; // Initialize xr in order to // calculating "ea". Can also be "xu". do { iter++; xr_old = xr;

xr = (xl + xu) / 2; // Estimate root if (xr != 0) ea = fabs((xr – xr_old) / xr) * 100; test = f(xl) * f(xr); if (test < 0) xu = xr; else if (test > 0) xl = xr; ea = 0; } while (ea > es && iter < iter_max); return xr; }

Additional Implementation Issues Function call is a relatively slow operation. In the previous example, function f() is called twice in each iteration. Is it necessary? We only need to update one of the bounds (see step 3 in the algorithm for the bracketing method).

Revised Bisection Method (as C function) double Bisect(double xl, double xu, double es, int iter_max) { double xr; // Est. Root double xr_old; // Est. root in the previous step double ea; // Est. error int iter = 0; // Keep track of # of iterations double fl, fr; // Save values of f(xl) and f(xr) xr = xl; // Initialize xr in order to // calculating "ea". Can also be "xu". fl = f(xl); do { iter++; xr_old = xr; xr = (xl + xu) / 2; // Estimate root fr = f(xr);

if (xr != 0) ea = fabs((xr – xr_old) / xr) * 100; test = fl * fr; if (test < 0) xu = xr; else if (test > 0) { xl = xr; fl = fr; } ea = 0; } while (ea > es && iter < iter_max); return xr;

Additional Implementation Issues Testing if f(xl)f(xr) is positive or negative directly could result in underflow or overflow. How can we address this problem? We can test if both the values have the same sign

Comments on Bisection Method The method is guaranteed to converge. However, the convergence is slow as we gain only one binary digit in accuracy in each iteration.

A.2. Regula Falsi Method Also known as the false-position method, or linear interpolation method. Unlike the bisection method which divides the search interval by half, regula falsi interpolates f(xu) and f(xl) by a straight line and the intersection of this line with the x-axis is used as the new search position. The slope of the line connecting f(xu) and f(xl) represents the "average slope" (i.e., the value of f'(x)) of the points in [xl, xu ].

False-position vs Bisection False position in general performs better than bisection method. Exceptional Cases: (Usually) When the deviation of f'(x) is high and the end points of the interval are selected poorly. For example,

Bisection Method (Converge quicker) Iteration xl xu xr εa (%) εt (%) 1 1.3 0.65 35 2 0.975 33.3 25 3 1.1375 14.3 13.8 4 1.05625 7.7 5.6 5 1.015625 4.0 1.6 False-position Method Iteration xl xu xr εa (%) εt (%) 1 1.3 0.09430 90.6 2 0.18176 48.1 81.8 3 0.26287 30.9 73.7 4 0.33811 22.3 66.2 5 0.40788 17.1 59.2

Summary Bracketing Methods Bisection Method False-position method f(x) has the be continuous in the interval [xl, xu] and f(xl)f(xu) < 0 Always converge Usually slower than open methods Bisection Method Slow but guarantee the best worst-case convergent rate. False-position method In general performs better than bisection method (with some exceptions).