Top Banner
1 Roots of Equations Bracketing Methods
30

1 Roots of Equations Bracketing Methods. 2 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.

Dec 20, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 1 Roots of Equations Bracketing Methods. 2 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.

1

Roots of Equations

Bracketing Methods

Page 2: 1 Roots of Equations Bracketing Methods. 2 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.

2

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)

Page 3: 1 Roots of Equations Bracketing Methods. 2 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.

3

Example: Interest RateSuppose 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?

1)1(

)1(

n

n

x

xxPA

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

1)1(

)1(000,12065,1

1212

121212

x

xx

We know the payment formulae is:

Page 4: 1 Roots of Equations Bracketing Methods. 2 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.

4

Finding Roots Graphically

• Not accurate

• However, graphical view can provide useful info about a function.– Multiple roots?– Continuous?– etc.

Page 5: 1 Roots of Equations Bracketing Methods. 2 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.

5

The following root finding methods will be introduced:

A. Bracketing MethodsA.1. Bisection MethodA.2. Regula Falsi (False-position Method)

B. Open MethodsB.1. Fixed Point IterationB.2. Newton Raphson's MethodB.3. Secant Method

Page 6: 1 Roots of Equations Bracketing Methods. 2 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.

6

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

Page 7: 1 Roots of Equations Bracketing Methods. 2 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.

7

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

Page 8: 1 Roots of Equations Bracketing Methods. 2 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.

8

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

Page 9: 1 Roots of Equations Bracketing Methods. 2 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.

9

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

Page 10: 1 Roots of Equations Bracketing Methods. 2 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.

10

How to select xr in step 2?

1. Bisection MethodGuess without considering the characteristics of

f(x) in (xl, xu)

2. False Position Method (Regula Falsi)Use "average slope" to predict the location of

the root

Page 11: 1 Roots of Equations Bracketing Methods. 2 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.

11

A.1. Bisection Method

• Each guess reduce the search interval by half

2lu

r

xxx

Page 12: 1 Roots of Equations Bracketing Methods. 2 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.

12

Bisection Method – Example

40)1(38.667

)( 146843.0 xex

xf

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

Page 13: 1 Roots of Equations Bracketing Methods. 2 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.

13

Example (continue)

n xl xr xu f(xl) f(xr) f(xu) f(xl)f(xu) εa

0 12 16 6.067 -2.269

1 12 14 16 6.067 1.569 -2.269 > 0

2 14 15 16 1.569 -0.425 -2.269 < 0 6.667%

3 14 14.5 15 1.569 0.552 -0.425 > 0 3.448%

4 14.5 14.75 15 0.552 0.0590 -0.425 > 0 1.695%

5 14.75 14.875 15 0.0590 -0.184 -0.425 < 0 0.840%

6 14.75 14.8125 14.875 0.0590 -0.0629 -0.184 < 0 0.422%

%100newr

oldr

newr

ax

xx

%219.0%1007802.14

8125.147802.14

t

Page 14: 1 Roots of Equations Bracketing Methods. 2 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.

14

Error BoundsThe true root, α, must lie between xl and xu.

xl xuxr

xl(1) xu

(1)

After the 1st iteration, the solution, xr(1), should be within an

accuracy of)1()1(

2

1lu xx

xr(1)

Let xr(n) denotes xr in the nth iteration

Page 15: 1 Roots of Equations Bracketing Methods. 2 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.

15

Error Bounds

xl(2) xu

(1)xu(2)

Suppose the root lies in the lower subinterval.

xr(2)

)1()1(2

)2()2(

2

1

2

1lulu xxxx

After the 2nd iteration, the solution, xr(2), should be

within an accuracy of

Page 16: 1 Roots of Equations Bracketing Methods. 2 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.

16

Error Bounds

)1()1()1()1(2

)()(

2

1...

2

1

2

1lun

nl

nu

nl

nu xxxxxx

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α

)(log

2

1

)1()1(

2

)1()1(

E

xxn

Exx

lu

lun

Page 17: 1 Roots of Equations Bracketing Methods. 2 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.

17

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)

%100newr

oldr

newr

ax

xxe

Page 18: 1 Roots of Equations Bracketing Methods. 2 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.

18

Bisection Method (as C function)

// xl, xu: Lower and upper bound of the interval// es: Acceptable relative percentage error// iter_max: Maximum # of iterationsdouble 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;

Page 19: 1 Roots of Equations Bracketing Methods. 2 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.

19

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; else ea = 0;

} while (ea > es && iter < iter_max);

return xr;}

Page 20: 1 Roots of Equations Bracketing Methods. 2 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.

20

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

Page 21: 1 Roots of Equations Bracketing Methods. 2 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.

21

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

Page 22: 1 Roots of Equations Bracketing Methods. 2 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.

22

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; } else ea = 0;

} while (ea > es && iter < iter_max);

return xr;}

Page 23: 1 Roots of Equations Bracketing Methods. 2 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.

23

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

Page 24: 1 Roots of Equations Bracketing Methods. 2 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.

24

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.

Page 25: 1 Roots of Equations Bracketing Methods. 2 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.

25

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

Page 26: 1 Roots of Equations Bracketing Methods. 2 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.

26

rl

l

ru

u

xx

xf

xx

xf )()(

)()(

))((

ul

uluur xfxf

xxxfxx

Page 27: 1 Roots of Equations Bracketing Methods. 2 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.

27

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,

3.1,0with

1)( 10

ul xx

xxf

Page 28: 1 Roots of Equations Bracketing Methods. 2 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.

28

Iteration xl xu xr εa (%) εt (%)

1 0 1.3 0.65 35

2 0.65 1.3 0.975 33.3 25

3 0.975 1.3 1.1375 14.3 13.8

4 0.975 1.1375 1.05625 7.7 5.6

5 0.975 1.05625 1.015625 4.0 1.6

Iteration xl xu xr εa (%) εt (%)

1 0 1.3 0.09430 90.6

2 0.09430 1.3 0.18176 48.1 81.8

3 0.18176 1.3 0.26287 30.9 73.7

4 0.26287 1.3 0.33811 22.3 66.2

5 0.33811 1.3 0.40788 17.1 59.2

Bisection Method (Converge quicker)

False-position Method

Page 29: 1 Roots of Equations Bracketing Methods. 2 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.

29

3.1,0with

1)( 10

ul xx

xxf

Page 30: 1 Roots of Equations Bracketing Methods. 2 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.

30

Summary• Bracketing Methods

– 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).