1 / 33

Lecture 3II Root Finding

Lecture 3II Root Finding. An iterative approach for root finding Newton method. Problem statement. Root finding. Find x such that f(x)=0 for a given f f denotes an arbitrary single-variable function. >> x=linspace(-1,3); >> plot(x,2.^x.^2-10*x+1). Root finding. Input: an expression

yori
Télécharger la présentation

Lecture 3II Root Finding

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Lecture 3II Root Finding • An iterative approach for root finding • Newton method 數值方法2008, Applied Mathematics NDHU

  2. Problem statement Root finding • Find x such that f(x)=0 for a given f • f denotes an arbitrary single-variable function 數值方法2008, Applied Mathematics NDHU

  3. >> x=linspace(-1,3); >> plot(x,2.^x.^2-10*x+1) 數值方法2008, Applied Mathematics NDHU

  4. Root finding • Input: an expression • Plot given function • Find a root 數值方法2008, Applied Mathematics NDHU

  5. Tangent line y=f(x) yn=f(xn) x xn+1 xn 數值方法2008, Applied Mathematics NDHU

  6. Taylor series 數值方法2008, Applied Mathematics NDHU

  7. An iterative approach • Start at some guess • Refine current guess by • Find a tangent line that passes (xn,f(xn)) • Set xn to a point atintersection of the tangent line to horizontal axis 數值方法2008, Applied Mathematics NDHU

  8. Updating rule 數值方法2008, Applied Mathematics NDHU

  9. Newton method • An Iterative approach • Random guess • Refine current guess by an updating rule • If a halting condition holds, go to step 2 otherwise exit 數值方法2008, Applied Mathematics NDHU

  10. An iterative approach n=0 ; Setxn Determine xn+1 Increase n by one Halting condition F T 數值方法2008, Applied Mathematics NDHU

  11. An iterative approach Setx randomly ~( halting condition) exit Apply an updating rule to refine x 數值方法2008, Applied Mathematics NDHU

  12. Halting condition • Let xdenote the current guess • The absolute value of f(x) is expected as close as possible to zero • Halting Condition abs(f(x)) < epslon • epslon denotes a predefined small positive number 數值方法2008, Applied Mathematics NDHU

  13. Initialization • Random initialization • A guess by the user 數值方法2008, Applied Mathematics NDHU

  14. An iterative approach x = rand*2-1; s=sym(ss);ep=10^-6 f=inline(s); s1=diff(s); f1=inline(s1) input an expression, ss ~( abs(f(x)) < ep) exit x=x-f(x)/f1(x); fprintf('%f\n' ,x) 數值方法2008, Applied Mathematics NDHU

  15. Demo_newton source code demo_newton fstr=input('input a function:','s'); x_ini=input('guess its zero:'); x_zero=newton(fstr,x_ini); newton.m 數值方法2008, Applied Mathematics NDHU

  16. Main Program 數值方法2008, Applied Mathematics NDHU

  17. Newton method 數值方法2008, Applied Mathematics NDHU

  18. >> demo_newton input a function:cos(x) guess its zero:2 iter=1 x=1.542342 fx=0.028450 iter=2 x=1.570804 fx=-0.000008 iter=3 x=1.570796 fx=0.000000 >> 數值方法2008, Applied Mathematics NDHU

  19. Example demo_newton input a function:2.^x.^2-10*x+1 guess its zero:1.5 數值方法2008, Applied Mathematics NDHU

  20. Example >> demo_newton input a function:2.^x.^2-10*x+1 guess its zero:0.5 數值方法2008, Applied Mathematics NDHU

  21. Second order expansion 數值方法2008, Applied Mathematics NDHU

  22. Second order method • Update rule 數值方法2008, Applied Mathematics NDHU

  23. An iterative approach x = rand*2-1; s=sym(ss);ep=10^-6 f=inline(s); s1=diff(s); f1=inline(s1) s2=diff(s1); f2=inline(s2) input an expression, ss ~( abs(f(x)) < ep) exit a=f2(x)/2;b=-f2(x)+f1(x); c=f(x)-x*f1(x)+f2(x)*x^2/2; x=… fprintf('%f\n' ,x) 數值方法2008, Applied Mathematics NDHU

  24. Unconstrained Optimization Problem statement Given a differentiable function, y=g(x), unconstrained optimization aims to find the minimum of g(x) Let xdenote a minimum and 數值方法2008, Applied Mathematics NDHU

  25. Optimization by Newton method • Use symbolic differentiation to find the first derivative of a given function • Apply the Newton method to find zeros of the first derivative 數值方法2008, Applied Mathematics NDHU

  26. An iterative approach x = rand*2-1; s=sym(ss);ep=10^-6 g=inline(s); s1=diff(s); f=inline(s1); s2=diff(s1); f1=inline(s2) input an expression, ss ~( abs(f(x)) < ep) exit x=x-f(x)/f1(x); fprintf('%f gx=%f\n' ,x, g(x)) 數值方法2008, Applied Mathematics NDHU

  27. First derivative ss=input('input a function:','s'); s=sym(ss); f=inline(s); s1=diff(s); f1=inline(s1); x=linspace(-5,5); plot(x,f(x));hold on; plot(x,f1(x)); 數值方法2008, Applied Mathematics NDHU

  28. >> x=linspace(-2*pi,2*pi); >> plot(x,(x-tanh(2*x+10)).^2) 數值方法2008, Applied Mathematics NDHU

  29. Local minimum >> demo_min input a function:(x-tanh(2*x+10)).^2 guess its minimum:4 數值方法2008, Applied Mathematics NDHU

  30. Local Minimum >> demo_min input a function:(x-tanh(2*x+10)).^2 guess its minimum:-4 數值方法2008, Applied Mathematics NDHU

  31. Global minimum 數值方法2008, Applied Mathematics NDHU

  32. >> demo_min input a function:0.2*x.^3-3*x+cos(x) guess its minimum:2 數值方法2008, Applied Mathematics NDHU

  33. Exercise • ex3II.pdf 數值方法2008, Applied Mathematics NDHU

More Related