1 / 28

Numerical Analysis - Root Finding I -

Numerical Analysis - Root Finding I -. Hanyang University Jong-Il Park. Root Finding. Analytic 하게 근을 구할 수 없을 때 수치해법 필요 eg. F(t) = e -t (3cos2t + 4sin2t). F(t). t. F(t)=0. General procedure of root finding. Step 1. 해의 근방을 찾는 과정 graphical method incremental search experience

swing
Download Presentation

Numerical Analysis - Root Finding I -

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. Numerical Analysis- Root Finding I- Hanyang University Jong-Il Park

  2. Root Finding • Analytic하게 근을 구할 수 없을 때 수치해법 필요 eg. F(t) = e-t(3cos2t + 4sin2t) F(t) t F(t)=0

  3. General procedure of root finding Step 1. 해의 근방을 찾는 과정 • graphical method • incremental search • experience • solution of a simplified model Step 2. 정확한 해를 찾는 과정 • Bracketing method • Open method Graphical method

  4. Bracketing method • 구간 [a,b]의 양끝점 사이에 근이 존재한다고 가정하고, 구간의 폭을 체계적으로 좁혀감 • 정확한 근으로의 수렴성이 좋음 • 종류 • bisection method • linear interpolation method

  5. Open method • 임의의 시작점에서 시작 • 규칙적 반복계산으로 근을 구함 • 초기값에 따라 발산가능성 있음 • bracketing method보다 수렴속도 빠름 • 종류 • fixed-point iteration • Newton-Raphson method • Secant method • Muller method

  6. 대략적 구간 찾기 • Graphical method

  7. 대략적 구간 찾기 Incremental search method • 초기값 x와 dx 사이의 함수값의 부호 조사 • 변화가 생기면 그 구간 안에 해가 존재 • 난점:     • dx의 크기 • 작으면 긴 계산시간, 크면 해를 놓침 • 중근일 경우 • 해를 놓칠 가능성 큼  양끝점의 도함수를 계산 if 서로 다른 부호 => 극소점 존재 • 정확한 해를 찾기 위해 반드시 프로그램의 앞부분에 있어야 함

  8. Bisection method(I) =Half Interval method = Bolzano method

  9. Bisection method(II) - 한번 반복할 때마다 구간이 1/2로 감소 - 간단하고, 오차범위의 확인이 용이 n 번 반복시, 최대오차 < (초기구간간격/2n) - 수렴속도가 느린 편임 - 다중근의 경우에 부호변화가 없으므로 적절치 못함

  10. Linear interpolation method(I) = False position method • Principle Algorithm

  11. Linear interpolation method(II) Algorithm

  12. Convergence speed • Bisection보다 대체로 빠른 수렴성 • 수렴 속도가 곡률에 의존(경우에 따라 매우 느린 수렴)  Modified linear interpolation method 제안됨

  13. Modified linear interpolation 0.5f(x2 ) x2 x2 Faster convergence Slow convergence Modified Linear Interpolation

  14. Open methods

  15. Newton-Raphson method(I) • 원리

  16. Newton-Raphson method(II) • Fast convergence – quadratic convergence • 도함수 계산이 복잡할 때는 비효율적 • Initial guess가 중요함 • Troubles • Cycling • Wandering • Overshooting

  17. Secant method(I)

  18. Secant method(II) • Linear interpolation과 비슷한 복잡성 • update rule만 다름 • Linear interpolation 보다 빠른 수렴성 • Newton-Raphson method 보다 우수한 안정성

  19. Comparison: Convergence speed

  20. Fixed point iteration(I) • 원리 f(x)=0  x=g(x) • Iteration rule xk+1=g(xk) • Convergent if contraction mapping

  21. Fixed point iteration(II)

  22. Muller method(I) • Generalization of the Secant method • Fast convergence Secant Muller

  23. Muller method(II) • Algorithm

  24. Error analysis • Linear convergence • Quadratic convergence

  25. Accelerating convergence • Aitken’s D2 method Rapid convergence!

  26. Fail-safe methods • Combination of Newton and Bisection • if(out of bound || small reduction of bracket) update by Bisection method  rtsafe.c in NR in C • Ridder's method (good performance)  zriddr.c in NR in C

  27. Homework #3 (I) • Programming: Find the roots of the Bessel function Jo in the interval [1.0, 10.0] using the following methods: a) Bisection (rtbis.c) b) Linear interpolation (rtflsp.c) c) Secant (rtsec.c) d) Newton-Raphson (rtnewt.c) e) Newton with bracketing (rtsafe.c) • Hint • First, use bracketing routine (zbrak.c). • Then, call proper routines in NR in C. • Set xacc=10-6 x • Use “pointer to function” to write succinct source codes [Due: 9/26] (Cont’)

  28. Homework #3 (II) • Write source codes for Muller method (muller.c) and do the same job as above. • Discuss the convergence speed of the methods. • Solve the following problems using the routine of rtsafe.c in NR in C • 10 e-x sin(2p x)-2= 0, on [0.1,1] • x2 - 2xe-x + e-2x = 0, on [0,1] • cos(x+sqrt(2))+x(x/2+sqrt(2)) = 0, on [-2,-1]

More Related