Метод Рунге–Кутты часто применяется для решения дифференциальных уравнений и систем уравнений из-за его высокой точности. Отличительная особенность метода – уточнение наклона интегральной кривой за счет вычисления производной не только в начале текущего отрезка интегрирования, но и, например, в середине отрезка (для двучленных схем Рунге–Кутты) или четырехкратное вычисление производных в методе четвертого порядка.
Для случая одного уравнения двучленная итерационная формула может иметь вид
yn+1=yn+h f(xn+0,5h,yn+0,5hfn)
Последовательность вычислений: сначала делают половинный шаг по схеме ломаных (по формуле Эйлера), находя yn+0,5=yn+hy’n+0,5, затем в найденной точке определяют наклон кривой y’n+0,5=f(xn+0,5, yn+0,5) и по этому наклону определяют приращение на целом шаге yn+1=yn+ hy’n+0,5.
Четырехчленная схема Рунге–Кутты наиболее часто употребляется в машинных расчетах и имеет четвертый порядок точности:
Метод Рунге–Кутта легко переносится и на случай системы дифференциальных уравнений.
В библиотеку Mathlib включена процедура RKGS, реализующая метод Рунге-Кутты четвертого порядка с автоматическим выбором шага интегрирования
Замечание. Так как в процедуре шаг выбирается автоматически в зависимости от скорости изменения функций, обычно применяют следующий алгоритм: задаются требуемым шагом вывода результатов (в программе переменная sprint), определяют число шагов n, а затем процедуру вызывают n раз для последовательного интегрирования уравнений на этих участках, организуя вывод результатов после завершения процедуры.
Пример решения уравнений методом Рунге - Кутты
Метод решения дифференциальных уравнений Эйлера
|
![]() |