На практике часто приходится иметь дело с так называемыми «жесткими системами уравнений». Жесткие системы уравнений – это такие уравнения, которые моделируют пролцессы, обладающие явлением жесткости. Такие процессы описываются функциями двух видов: функциями с большими по модулю производнымии и функциями с малыми по модулю производными, причем функции с большими производными быстро убывают. Такие задачи часто встречаются при исследовании динамических систем в электротехнике, в механике сплошной среды, в теории управления и т.д. Для жестких систем, как правило, существуют два участка решения с существенно различным характером поведения его составляющих, причем длина первого участка, называемогно пограничным слоем, значительно больше длины второго. Необходимость выделения таких уравнений в отдельный класс вызвана трудностями, которые встречаются при их численном интегрировании традиционными методами, например, явными типа Рунге-Кутта, Адамса. Для численного воспроизведения быстропротекающих процессов в пограничном слое необходим малый шаг интегрирования, однако, вне пограничного слоя, где существенны функции с малыми производными, увеличение шага приводит к резкому возрастанию погрешности, влекущему за собой качественное изменение поведения решения. Описанное явление происходит потому, что указанные методы обладают, как уже отмечалось выше, ограниченной областью устойчивости.
Это, прежде всего, многозначный жестко-устойчивый метод Гира переменного порядка и его усовершенствование – метод BDF (BackwordDifferentiationFormula), рефлизованного в работах A.C. Hindmarsh. Этот метод называют также методом обратного дифференцирования или формулами дифференцирования назад. Скуществует также устойчивый неявный метод Рунге-Кутта, а для сильно жестких систем – экспоненциальный метод, основанный на представлении рещения линейной однлродной системы с постоянными коэффициентами в виде матричной экспоненты.
Рассмотрим более подробно основы метода обратного дифференцирования.
Для kточек(tj-k+1; xj-k+1),(tj-k+2; xj-k+2), …, (tj; xj) и точки (tj+1; xj+1) строится интерполяционный полином k-того порядка, с помощью которого описывается функция x=f(t). В крнце интервала интерполяций, в точке (tj+1; xj+1), производная функций вычисляется с помощью формулы обратного дифференцирования (BDF метод).
Формула обратного дифференцирования в случае k =2 (степень интерполяционного полинома k называется порядком BDF-метода) может быть получена следующим образом.
Для производной от x=f(t)в момент времени tj+1:
При этом на каждом интервале шаг
h=tj+1-tj=tj-tj-1 (5.40)
Для вычисления коэффициентов α0,…, αkнеобходимо упорядочить интерполяционный полином x(t)второго порядка по степеням, представив его следующим образом:
(5.41)
В момент времени tj+1производная
(5.42)
Согласно (5.41), значения функции x(t) для моментов времени tj+1,tj,tj-1 равны соответственно xj+1=β0, xj = β0+ β1+ β2. xj-1= β0+ 2β1+ 4β2.Подставив эти значения в (5.39), можно записать:
После преобразований
Искомые коэффициенты α теперь могут быть определены из уравнений
Решение этой системы уравнений таково:
α0 = -1,5; α1 = 2; α2 = -0,5.
Для любого значения порядка k уравнение (5.39) в общем случае может быть представлено в виде:
(5.44)
Коэффициенты α0, …, αkявляются решениями системыk+1линейных уравнений. Искомые коэффициенты теперь могут быть определены из уравнений
(5.45)
Результаты расчета коэффициентов для значений kот 1 до 6 приведены в табл. 5.4.
Таблица 5.4. Коэффициентиы формулы обратного дифференцирования
k | α0 | α1 | α2 | α3 | α4 | α5 | α6 |
-1 | - | - | - | - | - | ||
- | - | - | - | ||||
- | - | - | |||||
-3 | - | - | |||||
-5 | - | ||||||