|
Заменим в выражении для k2 (12.7) коэффициенты при \(\displaystyle \tau\)
неизвестными параметрами \(\displaystyle \beta_{21}, \alpha_2\):
| |
\(\displaystyle k_1 = f(t^n, u^n) = f^n; \quad k_2 = f(t^n + \alpha_2 \tau, \ u^n + \beta_{21} \tau k_1).\) |
|
Разностную схему для уравнения (12.1) представим в виде:
| |
\(\displaystyle \frac{u^{n+1} - u^n}{\tau} = \gamma_1 k_1 + \gamma_2 k_2 .\) |
|
Тогда решение на (n + 1)-ом шаге по времени будет определяться рекуррентным соотношением:
| |
\(\displaystyle u^{n+1} = u^n + \gamma_1 \tau k_1 + \gamma_2 \tau k_2 .\) |
(12.8) |
Разложим функцию k2 в ряд Тейлора:
| |
\(\displaystyle k_2 = f^n + \left. \frac{\partial f}{\partial t} \right|^n \alpha_2 \tau + \left. \frac{\partial f}{\partial u} \right|^n \beta_{21} \tau f^n + O(\tau^2).\) |
|
Подставим данное выражение в рекуррентное соотношение (12.8):
| |
\(\displaystyle u^{n+1} = u^n + \gamma_1 \tau f^n + \gamma_2 \tau f^n + \left. \frac{\partial f}{\partial t} \right|^n \gamma_2 \alpha_2 \tau^2 + \left. \frac{\partial f}{\partial u} \right|^n \gamma_2 \beta_{21} \tau^2 f^n + O(\tau^3).\) |
(12.9) |
Разложим функцию \(\displaystyle u^{n+1}\) в ряд Тейлора:
| |
\(\displaystyle u^{n+1} = u^n + \left. \frac{du}{dt} \right|^n \tau + \frac{1}{2} \left. \frac{d^2 u}{dt^2} \right|^n \tau^2 + O(\tau^3).\) |
|
Данная формула с учётом равенств
| |
\(\displaystyle \left. \frac{du}{dt} \right|^n = f(t^n, u^n) = f^n, \quad \frac{d^2 u}{dt^2} = \frac{d}{dt} \left[ \frac{du}{dt} \right] = \frac{d}{dt} f(t, u) = \frac{\partial f}{\partial t} + \frac{\partial f}{\partial u} \frac{du}{dt} = \frac{\partial f}{\partial t} + \frac{\partial f}{\partial u} f(t, u), \quad \left. \frac{d^2 u}{dt^2} \right|^n = \left. \frac{\partial f}{\partial t} \right|^n + \left. \frac{\partial f}{\partial u} \right|^n f^n\) |
|
примет следующий вид:
| |
\(\displaystyle u^{n+1} = u^n + \tau f^n + \frac{1}{2} \left. \frac{\partial f}{\partial t} \right|^n \tau^2 + \frac{1}{2} \left. \frac{\partial f}{\partial u} \right|^n \tau^2 f^n + O(\tau^3).\) |
(12.10) |
Сравнивая соотношения (12.9) и (12.10), получаем следующую систему уравнений:
| |
\(\displaystyle \begin{cases} \gamma_1 \tau f^n + \gamma_2 \tau f^n = \tau f^n \\ \left. \dfrac{\partial f}{\partial t} \right|^n \gamma_2 \alpha_2 \tau^2 = \dfrac{1}{2} \left. \dfrac{\partial f}{\partial t} \right|^n \tau^2 \\ \left. \dfrac{\partial f}{\partial u} \right|^n \gamma_2 \beta_{21} \tau^2 f^n = \dfrac{1}{2} \left. \dfrac{\partial f}{\partial u} \right|^n \tau^2 f^n \end{cases} \quad \Rightarrow \quad \begin{cases} \gamma_1 + \gamma_2 = 1 \\ \gamma_2 \alpha_2 = \dfrac{1}{2} \\ \gamma_2 \beta_{21} = \dfrac{1}{2} \end{cases}\) |
(12.11) |
Система (12.11) состоит из трёх уравнений с четырьмя неизвестными, поэтому она не может иметь
однозначного решения. Для определения значений неизвестных параметров необходимо задать значение
одного из них (обычно задают значение параметра \(\displaystyle \alpha_2\)); тогда значения остальных параметров можно
определить из уравнений системы (12.11):
| |
\(\displaystyle \beta_{21} = \alpha_2, \qquad \gamma_1 = 1 - \frac{1}{2\alpha_2}, \qquad \gamma_2 = \frac{1}{2\alpha_2}.\) |
|
По этой причине принято говорить не о методе Рунге-Кутта второго порядка, а о семействе методов
Рунге-Кутта второго порядка, поскольку в зависимости от выбранного значения параметра \(\displaystyle \alpha_2\)
мы получим тот или иной вид рекуррентного соотношения (12.8).
На практике используются, как правило, два случая:
| |
\(\displaystyle 1. \ \alpha_2 = 0{,}5, \quad \beta_{21} = 0{,}5, \quad \gamma_1 = 0, \quad \gamma_2 = 1, \quad k_1 = f(t^n, u^n), \quad k_2 = f(t^n + 0{,}5\tau, \ u^n + 0{,}5\tau k_1), \quad \frac{u^{n+1} - u^n}{\tau} = k_2, \quad u^{n+1} = u^n + \tau k_2;\) |
|
| |
\(\displaystyle 2. \ \alpha_2 = 1, \quad \beta_{21} = 1, \quad \gamma_1 = 0{,}5, \quad \gamma_2 = 0{,}5, \quad k_1 = f(t^n, u^n), \quad k_2 = f(t^n + \tau, \ u^n + \tau k_1), \quad \frac{u^{n+1} - u^n}{\tau} = \frac{1}{2}(k_1 + k_2), \quad u^{n+1} = u^n + \frac{\tau}{2}(k_1 + k_2).\) |
|
Видно, что первый случай совпадает с методом Рунге-Кутта второго порядка,
рассмотренным в предыдущем разделе.
|