본문으로 바로가기
반응형
오늘은 비선형 방정식의 초기 근사값을 시작으로,
정밀도가 좋은 해를 반복식에 따라 구하는 방법인 연속적 근사법 중
수치해석에서 자주 활용되는 방법인 Newton Raphson 법에 대한 글을 포스팅 하려고 한다.


연속적 근사법 - Newton Raphson법

머리글에서 말한대로, 연속적 근사법은 비선형 방정식의 해를 구할 수 있는 반복식을 유도하고,
이 반복식을 주어진 초기 근사값에서 시작하여 정밀도가 높은 해가 나올 때까지 연속적으로 계산하는 방법이다.
연속적 근사법은 직접 탐색법과 달리 근이 위치할 수 있는 범위를 미리 알 필요가 없고,
근에 수렴하는 과정이 직접 탐색법과 비교했을 때 빠르다는 장점이 있지만,
언제나 근을 구할 수 있다는 보장이 없다는 단점도 있다.
이러한 연속적 근사법 중 수치 해석에서 가장 많이 사용되는 방법이 Newton Raphson법이다.

주어진 함수 f(x)에 대해, x = xn에 대한 테일러 급수를 구하면,



를 얻을 수 있고, 2계 도함수부터 그 이하의 항을 무시한다면,



으로 정리할 수 있다. 여기서 f(xn+1) = 0... 즉, 이 함수의 근이 xn+1이라고 가정하면,


이라는 Newton Raphson법의 반복 공식을 얻을 수 있다.




지금까지 서술한 Newton Raphson법은,
주어진 함수 f(x)의 x = xn인 지점에서의 접선 (한마디로, 직선 형태인 1차 함수)을 구할 수 있고,
이 접선의 근을 이용하여 정밀도가 높은 근을 추정하는 방법이라 할 수 있다.
(이 블로그에서 Newton Raphson법이 근에 수렴하는 양상을 의미하는 그림을 수치해석 글의 대표 이미지로 사용 중이다. ㅎㅎ)


이번에도 LabVIEW를 이용하여 Newton Raphson법에 대한 프로그램을 작성하였다.
이 프로그램을 이용하여 다음의 함수 f(x)의 근을 한번 구해보자.


< 프로그램 시연 영상 (마우스로 클릭하면 보입니다.) >

초기 근사값 (2.5)과 수렴 조건을 지정한 다음 프로그램을 실행시켰을 때,
총 8번의 반복으로 주어진 함수 f(x)의 근을 얻어내었다.
(반복 연산 결과가 어떻게 변화되는지 보기 위해 0.5초의 딜레이 타임을 지정하였다.)

이번에도 직접탐색법에서의 예제인 


의 근을 Newton Raphson법으로 구해보자.

< 프로그램 시연 영상 (마우스로 클릭하면 보입니다.) >


정리하면, Newton Raphson법은 예제를 통해 알 수 있듯이,
직접 탐색법처럼 근이 위치할 수 있는 범위의 지정은 필요로 하지 않는지만,
반복식에 1계 도함수가 포함되므로, 주어진 함수에 대한 미분이 필요하고,
1계 도함수의 결과에 따라 해를 찾지 못하는 경우도 발생할 수 있다는 점을 명심해야 한다.
(초기값의 조건을 변경하면 해를 찾을 수도 있음.)





반응형