1cd2ff9dcda06726105d0a05a4876268.ppt
- Количество слайдов: 50
4 Numerical Methods Root Finding Secant Method Modified Secant False Position Method Newton Method
Root Finding False Position Method
The False-Position Method (Regula-Falsi) We can approximate the solution by doing a linear interpolation between f(xu) and f(xl) Find xr such that l(xr)=0, where l(x) is the linear approximation of f(x) between xl and xu Derive xr using similar triangles 3
next estimate, xr f(xu) xl xu f(xl) Based on similar triangles
Example k 1 2 3 4 5 xk (Bisection) 0. 5 0. 25 0. 375 0. 3125 0. 34315 fk xk (False fk -0. 042 0. 471 0. 372 0. 360 2. 93× 10 -5 Position) 5
Example Determine the root of the following equation using the false position method starting with an initial estimate of xl=4. 55 and xu=4. 65 f(x) = x 3 - 98
Pitfalls of False Position Method
Bisection Method (Converge quicker) Iteration xl xu xr 1 0 1. 3 0. 65 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 εa (%) εt (%) 35 False-position Method Iteration xl xu xr 1 0 1. 3 0. 09430 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 90. 6 8
Comparison of False Position and Secant Method 2 f(x) 2 1 x 1 new est. x new est.
Secant method
Secant method
Secant method Select two estimates. Note: f(xi) and f(xi+1) are not opposite signs. { f(x) initial estimates x
Secant method f(x) { slope between two estimates initial estimates x
Secant method f(x) { slope between two estimates new estimate initial estimates x
To get xn+1 from xn and xn-1 we write out the equation of the secant line and using the points xn and xn-1. We then plug in the point (xn+1, 0) and solve for xn+1. equation of secant substitute (xn+1, 0) solve for xn+1=h(xn-1, xn) The equation above gives the recursively defined sequence for xn. This is what is used for the Secant Method. The halting condition is usually given by the Standard Cauchy Error.
Secant method table n xn-1 f(xn-1) 1 4. 0000 -3. 4800 6. 0000 9. 8800 4. 5210 2 6. 0000 9. 8800 4. 5210 -1. 6287 4. 7303 3 4. 5210 -1. 6287 4. 7303 -0. 5967 4. 8513 4 4. 7303 -0. 5967 4. 8513 -0. 0815 4. 8368 4. 8373 -. 0032 4. 8373 5 4. 8513 -0. 0815 xn f(xn) xn+1 16
Secant Illustration F(x) = x 2 - 10 1 2 3 4 1 (a=1, fa=-9) (b=10, fb=90) int = 1. 8, fint = -6. 7 2 (a=10, fa=90) (b=1. 8, fb= -6. 7) int = 0. 88, fint = -9. 22 3 (a=1. 8, fa=-6. 7) (b=0. 88, fb=-9. 22) int = 4. 25, fint = 8 4 (a=0. 88, fa=-9. 22) (b=4. 25, fb=8) Int =2. 68, fint = -2. 8 Etc…
Example Determine the root of f(x) = e-x - x using the secant method. Use the starting points x 0 = 0 and x 1 = 1. 0. error = 0. 01 or the root = 0. 56714329
Solution Choose two starting points § x 0 = 0 f(x 0 ) =1 § x 1 = 1. 0 f(x 1) = -0. 632 Calculate x 2 § x 2 = 1 - (-0. 632)(0 - 1)/(1+0. 632) = 0. 6127
Solution Second iteration § x 1 = 1. 0 f(x 1) = -0. 632 § x 2 = 0. 613 f(x 2) = -0. 0708 § NOTE: f(x) are the same sign. OK here. x 3 = 0. 613 - (-0. 0708)(1 -0. 613)/(-0. 632+0. 0708) x 3 = 0. 564 f(x 3) = 0. 0052 § a = abs[(0. 564 -0. 613)/(0. 564)] x 100 = 8. 23%
Solution Third iteration § x 2 = 0. 613 f(x 2) = -0. 0708 § x 3 = 0. 564 f(x 3) = 0. 0052 § x 4 = 0. 567 f(x 4) = -0. 00004 a = 0. 59% t = 0. 0048% Know the difference between these error terms
double secant(double c, int iterations, double tol)… for ( int i = 0; i < iterations; i++) { double x = ( fa*b - fb*a ) / ( fa - fb ); double fx = func( x, c ); if ( fabs( fx ) < tol ) return x; a = b; SECANT METHOD fa = fb; The change from ordinary b = x; fb = fx; regula is that the sign check is } dropped and points are just “shifted return -1; over”
Example
Ex. Use secant method to estimate the root of f(x) = ln x. Start the computation with value of § xl = xi-1 = 0. 5 § xu = xi = 5. 0 Solution The secant method 24
Problems With the Secant Method The number of iterations required can not be determined before the algorithm begins. The algorithm will halt (program termination by division by zero if not checked for) if a horizontal secant line is encountered. The secant method will sometimes find an extraneous root.
Modified Secant Method 26
Modified Secant Method Original Secant Method Modified Secant Method 27
Ex. Use the secant method to estimate the root of f(x) = e-x – x. Use a value of 0. 01 for and start with x 0 = 1. 0. Solution (true root = 0. 56714329…) First iteration § x 0 = 1 § x 1+ x 0 = 1. 01 Calculate t = 5. 3% f(x 0) = -0. 63212 f(x 1+ x 0) = -0. 64578
Applied Problem You buy a $20 K piece of equipment for nothing down and $5 K per year for 5 years. What interest rate are you paying? The formula relating present worth (P), annual payments (A), number of years (n) and the interest rate (i) is:
Root Finding Newton Method
Newton’s Method q. Open solution, that requires only one current guess. q. Root does not need to be bracketed. q. Consider some point x 0. q. If we approximate f(x) as a line about x 0, then we can again solve for the root of the line.
Newton Raphson tangent f(xi) xi+1 xi
Newton’s Method (cont) Derived using Taylor’s expansion 33
The error rate proof Ek = x* - xk Ek+1 = x* - xk+1 = x* - [ xk – f(xk) / f’ (xk)] = (x* - xk) + f / f’
Finding a square-root Example: 2 = 1. 4142135623730950488016887242097 Let x 0 be one and apply Newton’s method.
Finding a square-root Example: 2 = 1. 4142135623730950488016887242097 Note the rapid convergence Note, this was done with the standard Microsoft calculator to maximum precision.
Newton’s method
Example Use the Newton Raphson method to determine the root of f(x) = x 2 - 11 using an initial guess of xi = 3
Solution f(x) = x 2 - 11 f '(x) = 2 x initial guess xi = 3 f(3) = -2 f '(3) = 6
Solution In this method, we begin to use a numbering system: x 0 = 3 x 1 = 3. 33 Continue to determine x 2, x 3 etc.
Solution
Example: Newton’s Method f(x)= x 3– 3 x 2 – x+9=0 k 0 1 2 46 Worse than bisection !? xk 0 9 6. 41 -1. 5250 42
Newton’s Algorithm §Requires the derivative function to be evaluated, hence more function evaluations per iteration. §A robust solution would check to see if the iteration is stepping too far and limit the step. §Most uses of Newton’s method assume the approximation is pretty close and apply one to three iterations blindly.
Applied Problem The concentration of pollutant bacteria C in a lake decreases according to: Determine the time required for the bacteria to be reduced to 10 ppm.
Roots of Equations Chemical Engineering (C&C 8. 1, p. 187): van der Waals equation; v = V/n (= volume/# moles) Find the molal volume v such that p = pressure, T = temperature, R = universal gas constant, a & b = empirical constants 45
Roots of Equations Civil Engineering (C&C Prob. 8. 17, p. 205): Find the horizontal component of tension, H, in a cable that passes through (0, y 0) and (x, y) w = weight per unit length of cable 46
Roots of Equations Electrical Engineering (C&C 8. 3, p. 194): Find the resistance, R, of a circuit such that the charge reaches q at specified time t L = inductance, C = capacitance, q 0 = initial charge 47
Roots of Equations Mechanical Engineering (C&C 8. 4, p. 196): Find the value of stiffness k of a vibrating mechanical system such that the displacement x(t) becomes zero at t= 0. 5 s. The initial displacement is x 0 and the initial velocity is zero. The mass m and damping c are known, and λ = c/(2 m). in which 48
Comparison Newton’s method False Position ‧ (Newton) ‧ ‧ xk+1 ‧ f ’(xk) ‧ xk 49
Summary Method Pros Cons Bisection - Easy, Reliable, Convergent - One function evaluation per iteration - No knowledge of derivative is needed - Slow - Needs an interval [a, b] containing the root, i. e. , f(a)f(b)<0 Newton - Fast (if near the root) - Two function evaluations per iteration - May diverge - Needs derivative and an initial guess x 0 such that f’(x 0) is nonzero Secant - Fast (slower than Newton) - One function evaluation per iteration - No knowledge of derivative is needed - May diverge - Needs two initial points guess x 0, x 1 such that f(x 0)- f(x 1) is nonzero