Классический метод Рунге-Кутты
Классический метод Рунге-Кутты — это численный метод получения решения дифференциального уравнения.
Содержание
Описание метода[править]
Суть метода Рунге-Кутты в пошаговом вычислении значений решения y = y(x) дифференциального уравнения вида y’ = f(x, y) с начальным условием (x0; y0).
Классический метод Рунге-Кутты является методом 4-го порядка точности и называется методом Рунге-Кутты 4-го порядка точности.
Формулы[править]
[math]\displaystyle{ \begin{cases}k_1 = f(x_n,y_n)h \\ k_2 = f\left(x_n+\frac{h}{2},y_n+\frac{k_1}{2}\right)h \\ k_3 = f\left(x_n+\frac{h}{2},y_n+\frac{k_2}{2}\right)h \\ k_4 = f(x_n+h,y_n+k_3)h \\ \Delta y = \frac{k_1+2k_2+2k_3+k_4}{6} \\ x_{n+1}=x_n+h \\ y_{n+1}=y_n+ \Delta y\end{cases} }[/math]
Правило Рунге[править]
Для оценки точности расчёта решения y (например, необходимо рассчитать решение y с помощью значения для y при шаге h/2) на практике можно применять правило Рунге:
- [math]\displaystyle{ \left|y-y_{h/2}\right| \lt \frac{\left|y_h-y_{h/2}\right|}{2^m-1} }[/math], где
yh — значение решения y при шаге h,
yh/2 — значение решения y при шаге h/2,
m — порядок точности формулы.
Условие применения правила Рунге строго задаётся следующим неравенством:
- [math]\displaystyle{ 2^m\left|\frac{y_h-y_{h/2}}{y_{2h}-y_h}\right| \lt 0,1 }[/math], где
yh — значение решения y при шаге h,
yh/2 — значение решения y при шаге h/2,
y2h — значение решения y при шаге 2h),
m — порядок точности формулы.
Правило Коллатца[править]
При выборе шага h для достижения заданной точности решения дифференциального уравнения вида y’=f(x, y) классическим методом Рунге-Кутты на практике можно применять более простое правило Коллатца:
- [math]\displaystyle{ \left|\frac{k_2-k_3}{k_1-k_2}\right| \lt 0,03 }[/math], где
- [math]\displaystyle{ k_1=f(x_n,y_n)h, \ k_2=f\left(x_n+\frac{h}{2},y_n+\frac{k_1}{2}\right)h, \ k_3=f\left(x_n+\frac{h}{2},y_n+\frac{k_2}{2}\right)h }[/math].
Формула Ричардсона[править]
Более точным (по крайней мере на порядок выше, то есть с порядком точности m + 1) значением y (по сравнению со значением yh/2) является значение y*, вычисленное или экстраполированное по формуле Ричардсона:
- [math]\displaystyle{ y^*=\frac{2^my_{h/2}-y_h}{2^m-1} }[/math], где
yh — значение решения y при шаге h,
yh/2 — значение решения y при шаге h/2,
m — порядок точности формулы.
Другие методы[править]
- метод Эйлера;
- исправленный метод Эйлера;
- усовершенствованный метод Эйлера;
- метод Адамса третьего порядка;
- метод Рунге-Кутты третьего порядка;
- классический метод Рунге-Кутты.
- Для решения систем дифференциальных уравнений используется обобщённый метод Рунге-Кутты.
Литература[править]
- Демидович Б. П., Марон И. А. Основы вычислительной математики — М.: Наука, 1970
- Корн Г., Корн Т. Справочник по математике для научных работников и инженеров — М.: Наука, 1970