* Данный текст распознан в автоматическом режиме, поэтому может содержать ошибки
760
Решение дифференциальных уравнений
9.12.3. Решения жестких систем дифференциальных уравнений
Система дифференциальных уравнений, записанная в матричной форме y = A·x, где A – почти вырожденная матрица, называется жесткой. Впервые та кие системы оказались нужны при решении задач химической кинетики. Оказа лось, что при этом явные методы решения (например, методы Рунге Кутта) не только давали низкую точность решения, но порой явно оказывались неустойчи выми. Та же ситуация имеет место при решении систем дифференциальных урав нений, описывающих работу электронных цепей с сильно различающимися по стоянными времени и при решении резко нелинейных дифференциальных уравнений. Решение таких систем характерно резко различной скоростью изменения зна чений переменных и требует очень малого шага, выбираемого исходя из наивыс шей скорости изменения значений переменных. Оно подчас просто невозможно указанными выше явными методами. Для решения жестких дифференциальных уравнений в Mathcad введен ряд функций: • bulstoer(y,x1,x2,acc,n,F,k,s) – возвращает матрицу решения сис темы обыкновенных дифференциальных уравнений на интервале от x1 до x2, правая часть которых записана в символьном векторе F с заданными в векторе y начальными условиями (используется метод решения Булир ша Штера с переменным шагом, параметры k и s задают максимальное число промежуточных точек, на которых ищется решение, и минимально допустимый интервал между ними); • Stiffb(y,x1,x2,n,F,J) – возвращает матрицу решений жесткого диф ференциального уравнения, записанного в векторе F, и функции Якобиана J, y – вектор начальных значений на интервале [x1,x2] (для решения ис пользуется метод Булирша Штера); • stiffb(y,x1,x2,acc,n,F,J,k,s) – возвращает матрицу решений только в конечной точке жесткого дифференциального уравнения, запи санного в векторе F, и функции Якобиана J, y – вектор начальных значений на интервале [x1,x2] (для решения используется метод Булирша Штера с переменным шагом); • Stiffr(y,x1,x2,n,F,J) – возвращает матрицу решений дифференци ального уравнения, записанного в векторе F, и функции Якобиана J, y – вектор начальных значений на интервале [x1,x2] (для решения использу ется метод Розенброка); • stiffr(y,x1,x2,acc,n,F,J,k,s) – матрица решений только в конечной форме жесткого дифференциального уравнения, записанного в векторе F, и функции Якобиана J, y – вектор начальных значений на интервале [x1,x2] (для решения используется метод Розенброка с переменным шагом). В приведенных функциях: acc – погрешность решения (рекомендуется по рядка 0.001), k – максимальное число промежуточных точек, s – минимально до