MathCAD


Рис. 5.2. Задача об эпидемии – решение системы дифференциальных уравнений - часть 2


При решении жестких систем следует использовать одну из двух встроенных функций, разработанных специально для таких случаев: Stiffb и Stiffr.

Они используют метод Булирша ¾ Штёра (b) или Розенброка (r). Форма матрицы-решения, полученной с помощью этих функций, идентична матрице, полученной через rkfixed. Однако Stiffb и Stiffr требуют дополнительного аргумента J:

Stiffb(x, tнач, tкон, n, f, J)

Stiffr(x, tнач, tкон, n, f, J),

где

x – вектор n начальных значений;

 tнач, tкон – конечные точки интервала, в котором должно быть найдено решение дифференциальных уравнений. Начальные значения x определяются в точке tнач;

n – количество точек за начальной точкой, в которых должно быть определено решение. Это определяет число рядов (1 + n) матрицы, которую генерируют функции Stiffb и Stiffr;

f(t, x) – функция-вектор правых частей системы;

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

В функциях для решения дифференциальных уравнений, описанных ранее, предполагалось, что необходимо получить таблицу значений x(t) относительно значений t, расположенных на одинаковом расстоянии друг от друга на отрезке интегрирования, ограниченном точками tнач и tкон. Но часто требуется найти решение только в конечной точке tкон. Хотя описанные функции определяют значение x(tкон), они проделывают при этом много ненужной работы, высчитывая промежуточные значения x(t).

Если необходимо узнать только значение x(tкон), используются следующие функции:

bulstoer( x, tнач, tкон, acc, f, kmax, save)

rkadapt( x, tнач, tкон, acc, f, kmax, save)

stiffb( x, tнач, tкон, acc, f, J, kmax, save)

stiffr ( x, tнач, tкон, acc, f, J, kmax, save),

где

x – см. выше;

tнач, tконконечные точки интервала, на котором должно быть найдено решение дифференциальных уравнений. Начальные значения t определяются в точке tнач;

acc – контролирует точность решения. При небольших значениях acc делаются более мелкие шаги вдоль траектории, что увеличивает точность решения;




- Начало -  - Назад -  - Вперед -