이 계산기는 무엇을 하나요
이 도구는 방정식의 근, 즉 \(f(x) = 0\)이 되는 \(x\) 값을 미분이 필요 없는 뉴턴법으로 찾아 줍니다. 이 방법은 스테펜센 반복법(Steffensen's iteration)이라고도 불립니다. 고전적인 뉴턴법은 1차 도함수 \(f'(x)\)를 직접 구해야 하지만, 이 방식은 도함수 대신 함수값만으로 계산한 전진차분(forward difference) 근사를 사용합니다. 덕분에 손으로 미분할 필요가 전혀 없습니다. 단일 변수의 실함수라면 어떤 함수에든 쓸 수 있는 순수한 수학 도구입니다.
사용 방법
변수 \(x\)를 사용해 f(x) 칸에 함수를 입력하세요. + - * / ^ 연산자, 괄호, 상수 pi와 e, 그리고 자주 쓰는 함수들 sin, cos, tan, asin, acos, atan, sinh, cosh, tanh, exp, ln, log, log10, sqrt, abs를 사용할 수 있습니다. 삼각함수는 라디안 단위입니다. 초기 추정값 x0를 정하고(결과는 이 값에 따라 달라집니다), 최대 반복 횟수 n을 선택한 뒤, 수렴한 근과 잔차 \(f(x)\), 그리고 필요한 반복 횟수를 확인하면 됩니다.
공식 설명
갱신 규칙은 다음과 같습니다.
$$x_{n+1} = x_n - \frac{f(x_n)^2}{f\!\left(x_n + f(x_n)\right) - f(x_n)}$$이는 표준 뉴턴 단계 \(x_{n+1} = x_n - f(x_n)/f'(x_n)\)에서 출발하며, 여기서 \(f'(x_n)\)를 보폭 \(h = f(x_n)\)인 전진차분으로 근사합니다. 이 근사값을 대입하면 위의 공식이 나옵니다. 단순근 근처에서는 진짜 뉴턴법과 마찬가지로 대략 2차 수렴(quadratic convergence)을 보이지만, 함수값만 사용한다는 점이 다릅니다.
계산 예시
\(f(x) = x - \cos(x)\), \(x_0 = 1\)인 경우를 봅시다. 1회 반복에서 \(f(1) = 0.45970\), 탐색값 \(f(1.45970) = 1.34861\), 분모 \(0.88891\)이 되어 다음과 같이 됩니다.
$$x_1 = 1 - \frac{0.45970^2}{0.88891} = 0.76224$$반복을 계속하면 \(x = \cos(x)\)를 만족하는 값인 \(x \approx 0.7390851332\)(이른바 도티 수, Dottie number)로 빠르게 수렴하며, 이때 \(f(x) \approx 0\)이 됩니다.
자주 묻는 질문
왜 수렴하지 않을 때가 있나요? 초기 추정값이 좋지 않으면 발산하거나 엉뚱한 다른 근으로 빠질 수 있습니다. 또한 분모 \(f(x+f(x)) - f(x)\)가 0이 되면 방법이 안전하게 멈춥니다. 이럴 때는 x0를 다른 값으로 바꿔 보세요.
각도는 도(degree)인가요, 라디안인가요? 수학에서 표준으로 쓰는 라디안입니다. 필요하면 x*pi/180으로 변환하세요.
도함수를 구해야 하나요? 아니요. 바로 그것이 이 방법의 핵심입니다. 함수값만으로 기울기를 추정합니다.