MCP로 연결 →

계산 입력

공식

광고

결과

f(x) = 0이 되는 근 x
0.73908513321516
Converged
사용된 반복 횟수 5
잔차 f(x) 0.000000000000003
계산 방법 미분 없는 뉴턴법 (스테펜센 방식)

이 계산기는 무엇을 하나요

이 도구는 방정식의 근, 즉 \(f(x) = 0\)이 되는 \(x\) 값을 미분이 필요 없는 뉴턴법으로 찾아 줍니다. 이 방법은 스테펜센 반복법(Steffensen's iteration)이라고도 불립니다. 고전적인 뉴턴법은 1차 도함수 \(f'(x)\)를 직접 구해야 하지만, 이 방식은 도함수 대신 함수값만으로 계산한 전진차분(forward difference) 근사를 사용합니다. 덕분에 손으로 미분할 필요가 전혀 없습니다. 단일 변수의 실함수라면 어떤 함수에든 쓸 수 있는 순수한 수학 도구입니다.

사용 방법

변수 \(x\)를 사용해 f(x) 칸에 함수를 입력하세요. + - * / ^ 연산자, 괄호, 상수 pie, 그리고 자주 쓰는 함수들 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)을 보이지만, 함수값만 사용한다는 점이 다릅니다.

광고
x축과 교차하는 곡선 f(x)와 근으로 수렴하는 반복점
각 스테펜센 단계는 할선 기울기를 이용해 f(x)=0인 근에 다가갑니다.

계산 예시

\(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\)이 됩니다.

반복적 근 찾기 루프의 흐름도
x의 변화가 아주 작아지거나 최대 반복 횟수에 도달할 때까지 반복합니다.

자주 묻는 질문

왜 수렴하지 않을 때가 있나요? 초기 추정값이 좋지 않으면 발산하거나 엉뚱한 다른 근으로 빠질 수 있습니다. 또한 분모 \(f(x+f(x)) - f(x)\)가 0이 되면 방법이 안전하게 멈춥니다. 이럴 때는 x0를 다른 값으로 바꿔 보세요.

각도는 도(degree)인가요, 라디안인가요? 수학에서 표준으로 쓰는 라디안입니다. 필요하면 x*pi/180으로 변환하세요.

도함수를 구해야 하나요? 아니요. 바로 그것이 이 방법의 핵심입니다. 함수값만으로 기울기를 추정합니다.

최종 업데이트: