MCP로 연결 →

계산 입력

Choose a and b so that f(a) and f(b) have opposite signs (f(a)·f(b) ≤ 0).

공식

광고

결과

Approximate root x where f(x) ≈ 0
0.7390851332149927
가위치법 (Regula Falsi)
근 x 0.7390851332149927
반복 횟수 10
근에서의 f(x) -0.000000000000281108

가위치법이란?

가위치법(라틴어 regula falsi, 우리말로는 '가위치법' 또는 '시할법')은 f(x) = 0을 푸는 구간 기반 근 찾기 기법입니다. 이분법과 마찬가지로 함수의 부호가 바뀌는 시작 구간 [a, b]가 필요합니다. 즉 \(f(a)\cdot f(b) \le 0\)이면 a와 b 사이에 반드시 근이 존재합니다. 단, 구간을 늘 절반으로 나누는 이분법과 달리 가위치법은 두 끝점을 잇는 직선을 그어 그 직선이 x축과 만나는 점을 다음 추정값으로 삼습니다. 그래서 보통 이분법보다 빠르게 수렴합니다.

x축과 교차하는 곡선 f(x)와 구간 양 끝점을 잇는 할선
가위치법은 양 끝점을 직선으로 연결하며, 그 직선이 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으로 나누는 대신 오류를 표시합니다.

최종 업데이트: