Ch05.Roots
방정식의 근을 구하는 방법에는 여러가지가 있다.
1. 숫자를 여러번 대입해본다.
2. 근의 공식을 쓴다.
등등 ...
ch5~6 에서는 대수함수와 초월함수의 실수 근을 근사하는 방법에 대해 배우고, ch7에서는 다항식에서의 복소수와 실수의 근에 대해 근사하는 방법에 대해서 배운다.
먼저 살펴 볼 것은 Bracketing방법인데, 이 방법에 대표적인 기법에 Bisection(이분법)이다.
어떤 구간 a,b에서 연속적이고, 미분가능한 함수f(x)가 있을 때, 이 함수를 만족하는 실수가 f(x) = 0이 되게 하는 값일 때, f(xl)*f(xu) < 0 이 되게 하는 두 x값 사이에 근이 존재한다 -> 이것이 이분법의 가장 기초가 되는 개념이고, 문제 풀이의 핵심이다.
두 지점(xl, xu)예측하는 데에는 여러가지 상황들이 발생할 수 있다.(예를 들어 아래 그림과 같은 상황들...)
이분법 탐색 방법에 대한 절차와 슈도코드로 나타내보면, 아래와 같이 나타낼 수 있다.
Ex1)
함수 f(x) = sin10x + cos3x가 있을 때, x = 0부터 5까지의 범위 안에서 방정식의 근을 찾아보라.
아래 그래프처럼 x = 0이 되는 지점을 찾되, 어떤 두 지점의 값에 대한 f(x)값이 음수가 나오도록 하는 지점을 찾아보면, Figure 5.4b의 범위가 나온다. 대략 3와 5사이의 지점이므로 두 지점의 평균 값은 4가 되므로 4근처 값에서 근을 찾을 수 있다.
또 다른 예로, 오차율 엡실론s = 0.5% 일 때, 이 값보다 작은 값이 근의 근사치라고 볼 수 있는데,
위 그림처럼 엡실론a 가 epsilon(s)보다 작은 값이면 x값을 찾을 수 있다.