Upload
ashlynn-campbell
View
254
Download
0
Tags:
Embed Size (px)
Citation preview
Numerical Methods
SOLUTION OF EQUATION
Root Finding Methods
1. Bisection Method
2. Fixed Point Method
3. Secant Method
4. Modified Secant
5. Successive approximation
6. Newton Raphson method
7. Berge Vieta
Motivation Many problems can be re-written into a form such as:◦ f(x,y,z,…) = 0◦ f(x,y,z,…) = g(s,q,…)
Motivation
A root, r, of function f occurs when f(r) = 0. For example:
◦ f(x) = x2 – 2x – 3has two roots at r = -1 and r = 3.
◦ f(-1) = 1 + 2 – 3 = 0◦ f(3) = 9 – 6 – 3 = 0
◦We can also look at f in its factored form.f(x) = x2 – 2x – 3 = (x + 1)(x – 3)
Finding roots / solving equations
General solution exists for equations such asax2 + bx + c = 0
The quadratic formula provides a quick answer to all quadratic equations. However, no exact general solution (formula) exists for equations with exponents greater than 4.Transcendental equations: involving geometric functions (sin, cos), log, exp. These equations cannot be reduced to solution of a polynomial.
Examples
Problem-dependent decisions
Approximation: since we cannot have exactness, we specify our tolerance to error
Convergence: we also specify how long we are willing to wait for a solution
Method: we choose a method easy to implement and yet powerful enough and general
Put a human in the loop: since no general procedure can find roots of complex equations, we let a human specify a neighbourhood of a solution
Bisection Method
Based on the fact that the function will change signs as it passes thru the root.Suppose we know a function has a root between a and b. (…and the function is continuous, … and there is only one root)
f(a)*f(b) < 0
Once we have a root bracketed, we simply evaluate the mid-point and halve the interval.
Bisection Method f(a) . F(b) < 0
c=(a+b)/2
a bc
f(a)>0
f(b)<0
f(c)>0
Bisection Method Guaranteed to converge to a root if one exists within the bracket.
c ba
a = cf(a)>0
f(b)<0f(c)<0
Bisection method…
Check if solution lies between a and b… F(a)*F(b) < 0 ?
Try the midpoint m: compute F(m)
If |F(m)| < ϵ select m as your approximate solution
Otherwise, if F(m) is of opposite sign to F(a) that is ifF(a)*F(m) < 0, then b = m.
Else a = m.
Stop Conditions 1. number of iterations 2. |f(x0)| ≤ ϵ 3. | x- x0| ≤ ϵ
Bisection Method Simple algorithm:
Given: a and b, such that f(a)*f(b)<0Given: error tolerance, err
c=(a+b)/2.0; // Find the midpointWhile( |f(c)| > err ) {if( f(a)*f(c) < 0 ) // root in the left half
b = c;else // root in the right half
a = c;c=(a+b)/2.0; // Find the new midpoint
}return c;
Square root program The (positive) square root function is continuous and has a single solution.
c = x2
F(x) = x2 - c
Example:F(x) = x2 - 4
-6
-4
-2
0
2
4
6
0 0.5 1 1.5 2 2.5 3
Example: bisection iteration
16
Remarks Convergence
◦ Guaranteed once a nontrivial interval is found
Convergence Rate◦ A quantitative measure of how fast the algorithm
is◦ An important characteristics for comparing
algorithms
1. we could compute exactly how many iterations we would need for a given amount of error.
2. The error is usually measured by looking at the width of the current interval you are considering (i.e. the distance between a and b). The width of the interval at each iteration can be found by dividing the width of the starting interval by 2 for each iteration. This is because each iteration cuts the interval in half. If we let the error we want to achieve ϵ and n be the iterations we get the following:
abn
abab
ab
ab
ab
ab
abab
n
n
n
n
n
nn
nnnn
2
2
00
22
11
log
2
21
2
)(2
1
)(21(
2
1
)(2
1
18
Convergence Rate of Bisection
Let: ◦ Length of initial interval L0
◦ After k iterations, length of interval is Lk
◦ Lk=L0/2k
◦ Algorithm stops when Lk ϵ
Plug in some values…
93.1910
1log
10
1Let
62
6
k
L
This is quite slow, compared to the other methods…
Meaning of eps
How to get initial (nontrivial) interval [a,b] ?
Hint from the physical problem For polynomial equation, the following theorem is applicable:
roots (real and complex) of the polynomialf(x) = anxn + an-1xn-1 +…+ a1x + aο
satisfy the bound:
) , , , (1
1 10 nn
aaaMaxa
x ) , , , (1
1 10 nn
aaaMaxa
x
20
Example Roots are bounded by
Hence, real roots are in [-10,10]
Roots are
–1.5251,
2.2626 ± 0.8844i
093 23 xxx109) 1, 3, ,1( max
1
11 x
complex
Problem with Bisection
•Although it is guaranteed to converge under its assumptions,•Although we can predict in advance the number of iterations required for desired accuracy (b - a)/2n <n > log((b - a ) / )•Too slow! Computer Graphics uses square roots to compute distances, can’t spend 15-30 iterations on every one!•We want more like 1 or 2, equivalent to ordinary math operation.
Examples1. Locate the first nontrivial root of sin x = x3 using
Bisection method with the initial interval from 0.5 to 1. perform computation until error 2%
2. Determine the real root of f(x)= 5x3-5x2+6x-2 using bisection method. Employ initial guesses of xl = 0 and xu = 1. iterate until the estimated error a falls below a level of s = 15%
Homework