Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КР_студентам_cбросить / Пособие_MathCAD / Лаб_5_Решение диф_уравнений.doc
Скачиваний:
310
Добавлен:
12.04.2015
Размер:
506.88 Кб
Скачать

Жесткие системы ду

При решении дифференциальных уравнений (ДУ) имеется класс так называемых жестких (stiff) систем ДУ, для которых рассмотренные стандартные методы практически неприменимы, поскольку их решение требует исключительно малого значения шага численного метода.

Строгого общепринятого математического определения жестких ДУ нет. Поэтому обычно считают, что жесткие системы - это те уравнения, решение которых получить намного проще с помощью определенных неявных методов, чем с помощью явных методов.

Рис. 5.14. Программа модели брюсселятора

Рис. 5.15. Фазовый портрет брюсселятора при В=0.5

Исторически, интерес к жестким системам возник в середине XX века при изучении уравнений химической кинетики с одновременным присутствием очень медленно и очень быстро протекающих химических реакций. Тогда неожиданно оказалось, что считавшиеся исключительно надежными методы Рунге-Кутта стали давать сбой при расчете этих задач. Это вызвано тем, что в одном и том же уравнении некоторые компоненты во много раз различаются между собой. Это свойство также очень характерно для жестких систем.

Решение жестких систем дифференциальных уравнений можно осуществить с помощью встроенных функций, аналогичных по действию семейству рассмотренных выше функций для обычных ДУ:

- Radau(y0,t0,t1,M,F) - алгоритм RADAUS для жестких систем ДУ;

- stiffb(y0,t0,t1,M,F,J) - алгоритм Bulirsch-Stoer для жестких систем ДУ;

- stiffr(y0,t0,t1,M,F,J) - алгоритм Розенброка для жестких систем ДУ;

- у - вектор начальных значений в точке t0;

- t0,t1 - начальная и конечная точки расчета;

- m - число шагов численного метода;

- F — векторная функция F(t,y) размера 1х n, задающая систему ДУ;

- J - матричная функция J(t,y) размера (n + 1) x n, составленная из вектора производных функции F(t,y) пo t (правый столбец) и ее якобиана (n левых столбцов).

Таким образом, для двух последних функций серьезным отличием от функций, решающих нежесткие системы, является добавление к стандартному набору параметров дополнительной матричной функции, задающей якобиан системы ДУ. Решение выдается в виде матрицы, по форме идентичной аналогичным функциям решения нежестких задач Коши.

Приведем пример решения жесткой системы ДУ (рис. 5.16).

Рис. 5.16. Решение жесткой системы ДУ

Расчеты показывают, что для получения того же результата оказалось достаточно в тысячу раз меньшего количества шагов численного алгоритма, чем для стандартного метода Рунге-Кутта. Примерно во столько же раз требуется меньше компьютерного времени на проведение расчетов. Поэтому применение описанных специальных алгоритмов просто необходимо.

Рис. 5. 17. График решения жесткой системы

Приведем соответствующие встроенные функции, которые применяются для решения жестких систем ОДУ не на всем интервале, а только в одной заданной точке t1:

- radau(y, t0, t1,acc,F,k,s) - метод RADAUS;

- stiffb(y,t0,t1,acc,F,j,k,s) - метод Bulirsch-Stoer;

- stiffr(y0,t0,t1,acc,F,j,k,s) - метод Розенброка.

Имена этих функций пишутся с маленькой буквы, а их действие и набор параметров полностью аналогичны рассмотренным ранее для функций, относящихся к решению в заданной точке нежестких систем. Отличие заключается в специфике применяемого алгоритма и необходимости задания матричной функции Якобиана j(t,y).