가위치법이란?
가위치법(라틴어 regula falsi, 우리말로는 '가위치법' 또는 '시할법')은 f(x) = 0을 푸는 구간 기반 근 찾기 기법입니다. 이분법과 마찬가지로 함수의 부호가 바뀌는 시작 구간 [a, b]가 필요합니다. 즉 \(f(a)\cdot f(b) \le 0\)이면 a와 b 사이에 반드시 근이 존재합니다. 단, 구간을 늘 절반으로 나누는 이분법과 달리 가위치법은 두 끝점을 잇는 직선을 그어 그 직선이 x축과 만나는 점을 다음 추정값으로 삼습니다. 그래서 보통 이분법보다 빠르게 수렴합니다.
계산기 사용법
함수는 f(x) 형태로 표준 표기법에 따라 입력하세요. + - * / ^, 괄호, 그리고 sin, cos, tan, exp, log, ln, sqrt, abs, cbrt 같은 함수를 사용할 수 있습니다. 아래 끝점 a와 위 끝점 b는 f(a)와 f(b)의 부호가 서로 반대가 되도록 설정합니다. 최대 반복 횟수와 표시할 유효숫자 자릿수를 선택하세요. 결과로는 근의 근삿값 x, 실제 수행한 반복 횟수, 그리고 0에 매우 가까워야 할 잔차 f(x)가 표시됩니다.
공식 풀이
매 단계에서 다음 추정값은 구간 끝점을 지나는 할선(secant line)이 x축과 만나는 점입니다.
$$x_n = \frac{a_n\cdot f(b_n) - b_n\cdot f(a_n)}{f(b_n) - f(a_n)}$$
만약 \(f(x_n)\)의 부호가 \(f(a_n)\)과 같다면 a를 \(x_n\)으로 바꾸고, 그렇지 않으면 b를 바꿉니다. 이렇게 하면 부호 변화, 다시 말해 구간 안에 근이 갇혀 있는 상태가 그대로 유지됩니다. 반복은 \(|f(x_n)|\)이 허용 오차(약 1e-12) 아래로 떨어지거나 최대 반복 횟수에 도달하면 멈춥니다.
예제로 살펴보기
구간 [-10, 10]에서 \(f(x) = x - \cos(x)\)를 생각해 봅시다. \(f(-10) \approx -10.839\)(음수), \(f(10) \approx 10.839\)(양수)이므로 이 구간은 근을 감싸고 있습니다. 가위치법은 \(f(x) \approx 0\)이 되는 \(x \approx 0.7390851332\)로 수렴합니다. 이 값은 코사인 함수의 잘 알려진 고정점(fixed point)입니다.
자주 묻는 질문
왜 \(f(a)\cdot f(b)\)가 \(\le 0\)이어야 하나요? 부호가 바뀐다는 것은 연속 함수가 구간 안에서 0을 가로지른다는 뜻입니다. 부호 변화가 없으면 찾을 근이 없을 수 있으며, 이 경우 계산기가 경고를 표시합니다.
수렴이 느려질 수도 있나요? 곡률이 큰 함수에서는 한쪽 끝점이 고정된 채 움직이지 않아 선형 수렴이 느리게 진행될 수 있습니다. 이는 가위치법의 자연스러운 특성이며, 그래서 반복 횟수에 상한을 두는 것입니다.
분모가 0이면 어떻게 되나요? f(b)가 f(a)와 같으면 할선이 수평이 되어 유일한 교점이 존재하지 않습니다. 이때 계산기는 0으로 나누는 대신 오류를 표시합니다.