수치해석은 근사해를 구하는 알고리즘입니다. 뉴턴-랩슨법은 f(x)=0f(x)=0 같은 방정식의 근을 찾는 데 쓰이고, 오일러법과 룽게-쿠타법은 미분방정식의 해를 근사하는 데 쓰입니다.

빠르게 구분하면 이렇습니다. 뉴턴-랩슨법은 xx에 대한 추정값을 갱신하고, 오일러법과 룽게-쿠타법은 해를 시간에 따라 앞으로 진행시킵니다. 이 방법들이 잘 작동하는지는 적절한 시작값, 사용 가능한 도함수, 또는 문제에 대해 충분히 작은 스텝 크기 hh 같은 조건에 달려 있습니다.

각 수치해석 방법은 무엇에 쓰이나

뉴턴-랩슨법: 근 찾기

f(x)=0f(x)=0이 되게 하는 xx 값을 원한다면, 뉴턴-랩슨법은 접선을 따라 추정값을 갱신합니다:

xn+1=xnf(xn)f(xn)x_{n+1} = x_n - \frac{f(x_n)}{f'(x_n)}

직관은 간단합니다. 근 근처에서 그래프가 매끄럽다면 접선은 국소적인 선형 모델이 되고, 그 절편이 현재 점보다 더 나은 추정값이 될 수 있습니다.

이 방법은 보통 ff가 미분 가능하고, f(xn)0f'(x_n) \ne 0이며, 초기 추정값이 이미 단순근에 가까울 때 잘 작동합니다. 이런 조건이 깨지면 방법이 멈추거나, 근에서 멀리 튀거나, 발산할 수 있습니다.

예를 들어 f(x)=x22f(x)=x^2-2이고 x0=1.5x_0=1.5이면,

x1=1.51.5222(1.5)=1.4167x_1 = 1.5 - \frac{1.5^2 - 2}{2(1.5)} = 1.4167

한 번 더 반복하면 약 1.41421.4142가 되어 이미 2\sqrt{2}에 가깝습니다.

오일러법: 한 번의 기울기, 한 번의 스텝

초기값 문제

y=f(t,y),y(t0)=y0,y' = f(t,y), \qquad y(t_0)=y_0,

에 대해 오일러법은 현재 기울기를 사용해 앞으로 한 스텝 나아갑니다:

yn+1=yn+hf(tn,yn)y_{n+1} = y_n + h f(t_n, y_n)

가장 단순한 근사법입니다. 지금 알고 있는 기울기를 이용해 스텝 크기 hh만큼 앞으로 이동합니다. 그래서 오일러법은 배우고 구현하기 쉽지만, hh가 너무 크거나 해가 빠르게 변하면 오차가 금방 커질 수 있습니다.

룽게-쿠타법: 한 스텝 안에서 여러 번 기울기 확인

룽게-쿠타법은 같은 스텝 안에서 기울기 정보를 여러 번 사용해 오일러법을 개선합니다. 입문 과정에서 "룽게-쿠타법"이라고 하면 보통 고전적인 4차 방법인 RK4를 뜻합니다:

k1=f(tn,yn),k2=f(tn+h2,yn+h2k1),k_1 = f(t_n, y_n), \qquad k_2 = f\left(t_n + \frac{h}{2}, y_n + \frac{h}{2}k_1\right), k3=f(tn+h2,yn+h2k2),k4=f(tn+h,yn+hk3)k_3 = f\left(t_n + \frac{h}{2}, y_n + \frac{h}{2}k_2\right), \qquad k_4 = f(t_n + h, y_n + hk_3) yn+1=yn+h6(k1+2k2+2k3+k4)y_{n+1} = y_n + \frac{h}{6}(k_1 + 2k_2 + 2k_3 + k_4)

RK4는 여러 기울기 추정값의 가중평균을 사용하므로, 같은 스텝 크기에서는 보통 오일러법보다 곡선을 훨씬 더 잘 따라갑니다.

계산 예제: 같은 ODE에서 오일러법과 룽게-쿠타 비교

다음을 보겠습니다.

y=y,y(0)=1y' = y, \qquad y(0)=1

그리고 스텝 크기 h=0.1h=0.1로 한 번만 진행해 y(0.1)y(0.1)을 추정해 봅시다.

오일러 스텝

t=0t=0에서 현재 값은 y0=1y_0=1이므로 기울기는

f(0,1)=1f(0,1)=1

입니다. 따라서 오일러법은

y1=1+0.1(1)=1.1y_1 = 1 + 0.1(1) = 1.1

을 줍니다.

RK4 스텝

이제 같은 문제에 RK4를 적용해 봅시다:

k1=1k_1 = 1 k2=1+0.12(1)=1.05k_2 = 1 + \frac{0.1}{2}(1) = 1.05 k3=1+0.12(1.05)=1.0525k_3 = 1 + \frac{0.1}{2}(1.05) = 1.0525 k4=1+0.1(1.0525)=1.10525k_4 = 1 + 0.1(1.0525) = 1.10525

따라서

y1=1+0.16(1+2(1.05)+2(1.0525)+1.10525)y_1 = 1 + \frac{0.1}{6}(1 + 2(1.05) + 2(1.0525) + 1.10525)

이고,

y11.105170833y_1 \approx 1.105170833

입니다.

이 방정식의 정확한 값은 e0.11.105170918e^{0.1} \approx 1.105170918이므로, RK4의 한 스텝 결과가 오일러법보다 훨씬 더 가깝습니다.

이것이 핵심입니다. 오일러법은 왼쪽 끝점에서의 기울기만 사용합니다. 반면 RK4는 스텝 동안 기울기가 어떻게 변하는지 샘플링하므로, 보통 더 좋은 국소적 근사를 제공합니다.

뉴턴-랩슨법, 오일러법, 룽게-쿠타법은 언제 쓰나

비선형 방정식을 풀어야 하고 도함수를 계산하거나 근사할 수 있다면 뉴턴-랩슨법을 사용합니다. ODE를 스텝별로 푸는 기본 아이디어를 익히거나 빠른 기준선이 필요하다면 오일러법을 사용합니다.

문제 설정을 바꾸지 않으면서 실용적으로 정확도를 높이고 싶다면 룽게-쿠타법, 특히 RK4를 사용하면 됩니다. 다만 ODE가 강직(stiff)하다면 오일러법이나 고전적 RK4가 항상 좋은 선택은 아닙니다. 방법은 방정식의 성질에 맞아야 합니다.

수치해석에서 흔한 실수

문제 유형을 혼동하기

뉴턴-랩슨법은 방정식의 근을 구하는 방법입니다. 오일러법과 룽게-쿠타법은 미분방정식을 위한 방법입니다. 방법 계열을 잘못 고르면 계산을 시작하기도 전에 설정이 틀린 것입니다.

방법이 항상 수렴한다고 가정하기

뉴턴-랩슨법은 시작 추정값이 좋지 않거나 반복점 근처에서 f(x)f'(x)가 매우 작으면 실패할 수 있습니다. 오일러법과 RK 방법도 스텝 크기가 문제에 비해 너무 크면 좋지 않은 거동을 보일 수 있습니다.

스텝 크기를 사소한 요소로 취급하기

ODE 방법에서 스텝 크기 hh는 부수적인 것이 아니라 방법의 일부입니다. 더 작은 hh는 정확도를 높이는 경우가 많지만 계산 비용도 증가합니다. 또 어려운 문제에서는 단순히 스텝을 줄이는 것보다 강직성에 맞는 방법이 필요할 수 있습니다.

답이 근사값이라는 점을 잊기

숫자가 많이 나온다고 해서 자동으로 더 믿을 만한 답은 아닙니다. 중요한 질문은 그 근사가 안정적인지, 수렴하는지, 그리고 목적에 충분한 정확도를 가지는지입니다.

수치해석은 어디에 쓰이나

수치해석은 모델은 분명하지만 정확한 기호해를 구하기 불편하거나 불가능할 때 등장합니다. 여기에는 물리학, 공학, 최적화, 금융, 과학 계산이 포함됩니다.

공통된 패턴은 이론적이라기보다 실용적입니다. 필요한 의사결정을 내리기에 충분히 정확한 답을 원한다는 점입니다. 그래서 수렴성, 스텝 크기의 영향, 시작값에 대한 민감도를 확인하는 일은 공식을 쓰는 것만큼 중요합니다.

비슷한 문제를 직접 해보기

같은 ODE 예제에서 h=0.1h=0.1 대신 h=0.05h=0.05를 사용해 보고, 오일러법의 답과 RK4의 답을 다시 비교해 보세요. 그런 다음 f(x)=x23f(x)=x^2-3에 대해 x0=2x_0=2에서 시작하는 뉴턴-랩슨법을 적용해 반복값이 3\sqrt{3} 쪽으로 얼마나 빠르게 이동하는지 확인해 보세요.

문제 풀이가 필요하신가요?

문제를 올리면 검증된 단계별 풀이를 몇 초 만에 받을 수 있습니다.

GPAI Solver 열기 →