На практике для обеспечения требуемой точности (при использовании любого приближенного метода решения ОДУ) применяется автоматический выбор шага методом двойного просчета. При этом в каждой точке хi по формуле, соответствующей выбранному методу, производится расчет yiс шагом h (yi(h))и с шагом h/2(yi(h/2)). Цель двойного просчета состоит в том, чтобы для каждой точки численного решения эти значения отличались на величину, не превышающую заданной погрешности .В этом случае общая формула для оценки погрешности решения ОДУ методами Рунге-Кутты имеет следующий вид:
где p – порядок метода Рунге-Кутты. Эта формула называется также правилом Рунге.
Если | yi(h))- yi(h/2)|<, то шаг для следующей точки выбирается равным h, иначе шаг уменьшается вдвое и продолжается уточнение yi в точке хi.
Схемы алгоритмов интегрирования ОДУ методом Рунге-Кутты с автоматическим выбором шага приведены на рис. 5.3-2 и рис. 5.3-3.
|
Рис. 5.3-2. Схема алгоритма процедуры-функции решения ОДУ в очередной точке
|
Рис. 5.3-3. Схема алгоритма интегрирования ОДУ методом Рунге-Кутты с
автоматическим выбором шага
Методы, рассмотренные выше, позволяют найти численное решение ОДУ только первого порядка. Однако они применимы и к уравнениям n-го порядка. Для этого ОДУn-го порядка предварительно приводится к системе n уравнений первого порядка.
Пусть, например, требуется решить ОДУ второго порядка
,
с
начальными условиями
,
,
.
Обозначим
z=y’.
В результате подстановки в исходное
уравнение получим систему двух уравнений
первого порядка
,
с
двумя неизвестными функциями
и
и начальными условиями
,
.
В общем виде система уравнений может быть представлена в виде
(5.4-1)
Решением
системы(5.4-1) являются две функции
и
,
из которых
-
решение исходного уравнения второго
порядка. Выбрав, например, метод Эйлера,
приближенное решение системы (5.4-1) можно
найти с помощью двух рекуррентных
формул:
Пример
5.4-1. Дано обыкновенное
дифференциальное уравнение второго
порядка
при начальных условиях
,
,
на отрезке [0;0.4]
с шагом
.
Обозначим
,
тогда ОДУ второго порядка можно
записать в виде системы ОДУ первого
порядка
с
начальными условиями
,
,
.
Применим метод Эйлера для решения системы ОДУ
и т.д.
xi |
yi |
zi |
0 |
1 |
2 |
0.2 |
1.4 |
1.6 |
0.4 |
1.72 |
1.808 |
В общем виде ОДУ n-го порядка
.
Введем следующие обозначения:
…
В результате этих подстановок перейдем к системе n ОДУ первого порядка:
(5.4-2)
Решением системы
(5.4-2) являются функции
При заданных
начальных условиях
,
и использовании метода Эйлера
решение может быть получено с помощью
рекуррентных формул
Окончательным
решением ОДУ n-го
порядка, согласно определению, служит
функция
,
вычисленная на заданном множестве точек
[a;b].
Метод Эйлера является простейшим одношаговым методом. Однако его низкая точность (погрешность убывает пропорционально величине шага) служит серьезным препятствием для его использования на практике. Увеличение точности за счет уменьшения шага, к сожалению, приводит к росту количества итераций и соответственно увеличению ее составляющей погрешности – погрешности вычисления. Метод имеет первый порядок точности, соответствующий используемому в нем методу левых прямоугольников.
Метод «прогноза и коррекции» позволяет уточнить расчетную формулу за счет «прогноза» значения в следующей точке, полученного на первом этапе по формуле Эйлера, и «коррекции» - усреднения углового коэффициента – на втором этапе. Этот метод имеет второй порядок точности, поскольку для вычисления интеграла при вычислении приращения использована формула трапеций. По сравнению с методом Эйлера, метод «прогноза и коррекции» требует меньшее количество итераций для обеспечения заданной точности
Наиболее популярными среди классических одношаговых методов решения ОДУ являются методы Рунге-Кутты четвертого порядка. При этом метод Эйлера и метод «прогноза и коррекции» можно рассматривать как простейших представителей методов Рунге-Кутты. Методы Рунге-Кутты четвертого порядка эффективны и, если отрезок интегрирования не очень велик, обеспечивают сравнительно высокую точность.
Обеспечение требуемой точности решения ОДУ достигается применением в расчетах метода автоматического выбора шага, в котором для оценки локальной погрешности (погрешности на каждом шаге решения) используется правило Рунге.
При
решении
ОДУ
его следует привести к нормальной форме
(к виду разрешенному относительно
производной исходного ОДУ)
Для
ОДУ
с разделяющимися переменными исходное
уравнение можно привести к виду
,
тогда выражение
задает решение
задачи
Коши с начальными условиями
как функцию y
от переменной х.
Пример
5.6-1.Решить
ОДУ вида
.
Найдем частное решение данного ОДУ с использованием средств Mathcad, сначала методом разделения переменных, а затем с использованием функции odesolve(x, xk, n), где х – имя переменной, относительно которой решается уравнение, xk – конец интервала интегрирования, n – количество шагов, на которых вычисляется решение ОДУ. Результаты подтверждают правильность преобразований.
Аналитическое
решение ОДУ
Численное решение ОДУ
|