이 계산기의 기능
이 도구는 \(y'' = F(x, y, y')\) 형태로 표현된 2계 상미분방정식을 구간 [x0, xn]에서 2계 룽게-쿠타 방법(중점법 또는 수정 오일러 방식의 RK2)으로 수치적으로 풉니다. 우변 F를 x, y, p(여기서 p는 y'를 의미)에 대한 식으로 입력하고, 초깃값 y(x0)와 y'(x0), 구간의 양 끝점, 단계 수를 지정하면 됩니다. 결과는 구간을 따라 진행하는 (x, y, y') 값의 표로 출력됩니다. 이는 순수한 수치해석이므로 국가나 지역에 상관없이 동일하게 적용됩니다.
사용 방법
구동 함수 F를 x, y, p를 사용해 입력하세요. 예를 들어 \(y'' = -4y' - 4y\)는 -4*p-4*y로 씁니다. 연산자는 + - * / ^(또는 **)를 지원하며, 함수는 sin, cos, tan, exp, log, ln, sqrt, abs, pow, 상수는 pi, e를 사용할 수 있습니다. x0, 초깃값 y0와 y'0 = p0, 끝점 xn을 설정하고 소구간의 개수 n을 선택하세요. 단계가 많을수록 단계 크기 \(h = (x_n - x_0)/n\)이 작아지고 오차도 줄어듭니다(전역 오차는 \(O(h^2)\)).
공식 설명
먼저 \(p = y'\)로 두어 방정식을 1계 연립방정식으로 환원하면 \(y' = p,\ p' = F(x, y, p)\)가 됩니다.
$$\begin{cases} y' = p \\ p' = F(x,y,p) \end{cases} \qquad h = \dfrac{x_n - x_0}{n}$$각 RK2 단계는 시작점과 중점에서 기울기를 표본화하여 결합합니다. 즉 \(j_1 = h\cdot F(x,y,p)\), \(k_1 = h\cdot p\)를 구한 뒤, 중점에서 \(j_2\)와 \(k_2\)를 계산하여 p와 y를 전진시킵니다.
$$\begin{aligned} y_{i+1} &= y_i + h\,p\!\left(x_i + \tfrac{h}{2}\right) \\ p_{i+1} &= p_i + h\,F\!\left(x_i + \tfrac{h}{2},\; y_i + \tfrac{h}{2}p_i,\; p_i + \tfrac{h}{2}F_i\right) \end{aligned}$$단계당 국소 절단 오차는 \(O(h^3)\)입니다.
풀이 예제
\(F = -4p-4y\), \(x_0 = 0\), \(y_0 = 0\), \(p_0 = 1\), \(x_n = 1\), \(n = 50\)일 때 단계 크기는 \(h = 0.02\)입니다. 첫 단계에서 \(y_1 = 0.0192\), \(p_1 = 0.9224\)가 나옵니다. \(x = 1\)까지 반복하면 \(y(1) \approx 0.13533\), \(y'(1) \approx -0.13533\)을 얻으며, 이는 정확해 \(y = x\cdot e^{-2x}\)의 \(x = 1\)에서의 값인 $$e^{-2} = 0.135335$$와 일치합니다.
자주 묻는 질문
이것은 RK2인가요, RK4인가요? 이 계산기는 고전적인 4계 방법이 아니라 2계 룽게-쿠타(중점법)이므로, 전역적으로 2계 정확도만 갖습니다.
xn이 x0보다 작아도 되나요? 됩니다. 단계 크기가 음수가 되어 적분이 뒤쪽 방향으로 진행되며, 이는 수학적으로 유효합니다.
오류 행이 나오는 이유는 무엇인가요? F 내부에서 0으로 나누기, 0 이하의 수에 대한 로그, 음수의 제곱근 같은 계산 문제가 발생하면 적분이 중단되고 해당 위치를 알려줍니다.