Presentation is loading. Please wait.

Presentation is loading. Please wait.

Lecture 10 Root Finding using Open Methods

Similar presentations


Presentation on theme: "Lecture 10 Root Finding using Open Methods"— Presentation transcript:

1 Lecture 10 Root Finding using Open Methods
Dr .Qi Ying

2 Objectives Open methods Fixed point iteration Newton-Raphson
Modified secant method

3 Open Methods vs. Bracketing Methods
Root is located within the lower and upper bound. Pro: Always converge to the solution Con: Relatively slow Open methods Usually starting from a single starting point (initial estimate) Iteratively finding a new estimate Pro: Faster convergence (when they work) Con: Sometimes diverge from the true root

4 Single fixed point iteration
Idea: f(x)=0 can be rewritten in a different form: x=g(x). If xr is the root, i.e., f(xr)=0, then xr=g(xr) Iteration process: The single fixed point iterations starts from an initial guess of the root x0. x0 is usually not the root, i.e., x0≠g(x0). However, g(x0) can be used as the new estimate of the root: x1=g(x0) If x1 is quite different from x0, then g(x1) is evaluated to get the new next estimate of the root, and the process is repeated: xi+1=g(xi). The iteration stops when xi+1 is sufficiently close to xi.

5 function [root,ea] = fixpoint( func,x,es )
%FIXPOINT find root for func(x)=x using fixed point iteration. % func: left hand side of func(x)=x % x: initial guess % es: relative convergence criteria iter=0; % iteration counter itermax=20; % stop after itermax iterations ea=100; % initial error estimate xold=x; % previous x estimate % iteration using fixed point method x=func(x) while iter<itermax & ea>es xnew=func(xold); ea=abs((xnew-xold)/xnew)*100; xold=xnew; iter=iter+1;a end % save the final iteration results root=xold; if ea>es msg='Number of iterations exceeds the limit.'; warning(msg); else fprintf('Solved in %d iterations\n',iter);

6 Example Find a root for using fixed point iteration.
Solution: rearrange the above function to x=g(x) form. Thus, g(x)=e-x Check the result: >> >> [root,ea]=fixpoint(f,0,1.0) Solved in 11 iterations root = 0.5684 ea = 0.6244 >> exp( ) ans =

7 Graphical explanation of the fixed point iteration method
From Chapra, Figure 6.3

8 Newton-Raphson method
First conceived by Newton (1671) and Joseph Raphson (1690). Generalized by Thomas Simpson (1740) to modern forms. Very widely used Fast convergence (quadratic convergence) Need to evaluate first derivative of f(x) Also used in optimization

9 Newton-Raphson method
Since: Rearrange:

10 function [ root, ea ] = newtonraphson( func, dfunc, x, es )
%NEWTONRAPHSON solves func(x)=0 using the Newton-Raphson method. % func: func(x)=0, dfunc(x)=func'(x), x: initial guess, es: convergence % criteria itermax=50; % maximum number of irterations iter=0; % set interation counter ea=100; % initial error xold=x; % x from the previous iteration while iter<itermax & ea>es y=func(xold); dy=dfunc(xold); xnew=xold-y/dy; ea=abs((xnew-xold)/xnew)*100; xold=xnew; iter=iter+1; end % save the final iteration results root=xold; if ea>es msg='Number of iterations exceeds the limit.'; warning(msg); else fprintf('Solved in %d iterations\n',iter);

11 Example Find a root for using N-R method. Solution: find f’(x) first:
>> >> >> [root,ea]=newtonraphson(f,df,0,1.0) Solved in 3 iterations root = 0.5671 ea = 0.1647 Rate of convergence: Thus, “quadratic convergence”

12 Problems with N-R method

13 The Modified Secant Method
Evaluating f’(x) is not always possible, thus, we need to a method to approximate f’(x). One way to do this is: Thus, you get the iteration equation for the modified secant method

14 The Modified Secant Method
Advantage: No need for a separate derivative input Especially useful when f’(x) cannot be easily determined Difficulty: Choose of δx is not automatic. Too small – roundoff error may dominate and lead to wrong results. Too big – may become divergent

15 Exercise Program the modified secant method based on the N-R code.


Download ppt "Lecture 10 Root Finding using Open Methods"

Similar presentations


Ads by Google