4차 Runge-Kutta 방법을 기반으로 한 수치적 방법을 사용하여 2차 미분 방정식을 푸는 계산기와, 비교 및 교육 목적으로 사용되는 [1] 계산기 기반 해석적 방법이 제공됩니다.
4차 Runge-Kutta 방법을 1차 미분 방정식에 적용한 후, 동일한 방법을 2차 선형 미분 방정식에 적용합니다. 마지막으로, Runga-Kutta 방법에서 사용되는 스텝 크기 \( h \)의 영향을 연구하기 위한 상호작용 튜토리얼이 포함되어 있습니다.
1차 미분 방정식에 대한 4차 Runge-Kutta 방법
4차 Runge-Kutta 방법은 다음 형태의 일반 미분 방정식(ODE)을 푸는 데 널리 사용되는 수치적 방법입니다:
\[ \dfrac{dy}{dt} = f(y, t) \]
초기 조건 \( y(0) = y_0 \)이 주어집니다.
4차 Runge-Kutta 방법은 스텝 크기 \( h \)에서 미래 시간 \( t + h \)에서의 해 \( y(t) \)를 현재 시간 \( t \)에서의 정보를 기반으로 근사합니다. 이 방법은 \( [t, t+h] \) 구간 내에서 다양한 지점에서 기울기를 계산하고 이를 결합하여 가중 평균 기울기를 얻은 후, 이를 사용하여 \( y(t+h) \)를 추정합니다.
여기 Runge-Kutta 방법의 단계가 있습니다:
단계 1:
\[ k_1 = h \cdot f(y_n, t_n) \]
여기서 \( y_n \)과 \( t_n \)은 현재 \( y \)와 \( t \)의 값입니다.
단계 2:
\[ k_2 = h \cdot f\left(y_n + \dfrac{k_1}{2}, t_n + \dfrac{h}{2}\right) \]
단계 3:
\[ k_3 = h \cdot f\left(y_n + \dfrac{k_2}{2}, t_n + \dfrac{h}{2}\right) \]
단계 4:
\[ k_4 = h \cdot f(y_n + k_3, t_n + h) \]
단계 5:
\( y \)와 \( t \) 업데이트
4차 Runge-Kutta 방법은 위의 기울기(슬로프)를 결합하여 \( [t, t+h] \) 구간 끝에서의 \( y \) 값을 근사합니다. 이 기울기의 가중 평균은 다음 공식으로 계산됩니다:
\[ \dfrac{1}{6}(k_1 + 2k_2 + 2k_3 + k_4) \]
이 평균 기울기는 \( h \)로 곱해지고 \( y_n \)에 추가되어 \( t_{n+1} \)에서 \( y \)의 값을 업데이트합니다.
\[ y_{n+1} = y_n + h (\dfrac{1}{6}(k_1 + 2k_2 + 2k_3 + k_4)) \]
\[ t_{n+1} = t_n + h \]
2차 미분 방정식에 대한 Runge-Kutta 방법
다음 형태의 2차 미분 방정식에 대해:
\[ \dfrac{d^2y}{dt^2} = f(y, \dfrac{dy}{dt}, t) \]
초기 조건은 다음과 같습니다:
\[ y(0) = y_0 \]
\[ \dfrac{dy}{dt}(0) = \dfrac{dy}{dt}_0 \]
새로운 변수를 도입하여 이를 두 개의 1차 미분 방정식 시스템으로 변환할 수 있습니다:
다음과 같이 정의합니다:
\[ \dfrac{dy}{dt} = v \]
따라서 2차 미분 방정식은 다음과 같은 시스템으로 작성할 수 있습니다:
\[ \dfrac{dy}{dt} = v \]
\[ \dfrac{dv}{dt} = \dfrac{d^2y}{dt^2} = f(y, v, t) \]
이제 4차 Runge-Kutta 방법을 사용하여 이 1차 미분 방정식 시스템을 다음과 같이 풀 수 있습니다:
단계 1:
\( k_{1y} \)와 \( k_{1v} \)를 계산합니다.
\[ k_{1y} = h \cdot v \]
\[ k_{1v} = h \cdot f(y_n, v_n, t_n) \]
단계 2:
\( k_{2y} \)와 \( k_{2v} \)를 계산합니다.
\[ k_{2y} = h \cdot (v_n + \dfrac{k_{1v}}{2}) \]
\[ k_{2v} = h \cdot f\left(y_n + \dfrac{k_{1y}}{2}, v_n + \dfrac{k_{1v}}{2}, t_n + \dfrac{h}{2}\right) \]
단계 3:
\( k_{3y} \)와 \( k_{3v} \)를 계산합니다.
\[ k_{3y} = h \cdot (v_n + \dfrac{k_{2v}}{2}) \]
\[ k_{3v} = h \cdot f\left(y_n + \dfrac{k_{2y}}{2}, v_n + \dfrac{k_{2v}}{2}, t_n + \dfrac{h}{2}\right) \]
단계 4:
\( k_{4y} \)와 \( k_{4v} \)를 계산합니다.
\[ k_{4y} = h \cdot (v_n + k_{3v}) \]
\[ k_{4v} = h \cdot f(y_n + k_{3y}, v_n + k_{3v}, t_n + h) \]
단계 5:
\( y \)와 \( v \) 업데이트
\[ y_{n+1} = y_n + \dfrac{1}{6}(k_{1y} + 2k_{2y} + 2k_{3y} + k_{4y}) \]
\[ v_{n+1} = v_n + \dfrac{1}{6}(k_{1v} + 2k_{2v} + 2k_{3v} + k_{4v}) \]
\[ t_{n+1} = t_n + h \]
Runge-Kutta 방법 계산기
이제 다음 형태의 2차 미분 방정식의 해를 근사하는 계산기를 제공합니다:
\[
a \dfrac{d^2y}{dt^2} + b \dfrac{dy}{dt} + c y = 0 \]
위에서 설명한 4차 Runge-Kutta 방법을 사용하여 해를 근사하며, 비교를 위해 해석적으로도 풀이됩니다.
위의 미분 방정식은 또한 해석적으로 풀려서 비교가 이루어집니다.
다음과 같이 정의합니다:
\[ \dfrac{dy}{dt} = v \]
따라서 4차 Runge-Kutta 방법을 다음 시스템에 적용해야 합니다:
\[ \dfrac{dy}{dt} = v \]
\[ \dfrac{dv}{dt} = \dfrac{d^2y}{dt^2} = \dfrac{1}{a} (- b \; v - c \; y ) \]
계산기는 4차 Runge-Kutta 방법을 사용하고 동일한 미분 방정식을 해석적으로 풀어 그래프를 통해 비교합니다.
계수 및 초기 조건 입력
계수 \(a, b \) 및 \( c \)와 초기 조건 \( y(0) \) 및 \( dy/dt(0) \)을 입력하고 스텝 크기 \( h \)를 입력한 후 해를 풀고 수치적 및 해석적 해를 비교하세요.
참고
1) 그래프 위에 마우스를 올려 그래프의 포인트를 읽고 비교할 수 있습니다.
2) 그래프를 하나씩 또는 오른쪽에 표시된 범례를 클릭하여 둘 다 표시할 수 있습니다.
3) Runge-Kutta 방법을 사용할 때의 오차는 스텝 크기 \( h \)에 따라 달라집니다. 이 계산기는 \( h \)를 변경하여 수치적 및 해석적 방법을 비교하고, 4차 Runge-Kutta 방법을 사용할 때의 오차에 대한 \( h \)의 영향을 연구할 수 있습니다.
4) 계산에 사용된 스텝 수 \( n \)을 변경할 수도 있습니다. 그래프는 \( x = 0 \)에서 \( x = n \times h \)까지 확장됩니다.
해결책:
상호작용 튜토리얼: Runga-Kutta 방법에서 스텝 크기 \( h \)의 근사에 미치는 영향
상수 \( b, c \) 및 \( d \)의 값을 다음과 같이 입력하십시오:
\( a = 1 \), \( b = 0.5 \), \( c = 5 \)이며, 이는 진폭이 감소하는 진동 함수를 제공합니다.
이제 \( h \) 값을 \( h = 0.01 \)부터 시작하여 1까지 증가시켜보세요. 해석적 방법과 비교했을 때 어느 \( h \) 값이 더 나은 근사를 제공합니까?
추가 참조 및 링크
1 - https://personal.math.ubc.ca/~cbm/aands/abramowitz_and_stegun.pdf - 수학적 함수 핸드북 - A. Abramowitz 및 I. Stegun 저 - 페이지 875
2 - University Calculus - Early Transcendental - Joel Hass, Maurice D. Weir, George B. Thomas, Jr., Christopher Heil - ISBN-13 : 978-0134995540
3 - Calculus - Gilbert Strang - MIT - ISBN-13 : 978-0961408824
4 - Calculus - Early Transcendental - James Stewart - ISBN-13: 978-0-495-01166-8