Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛАБРАБ_ч1.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
11.89 Mб
Скачать

Лабораторная работа № 3 решение систем дифференциальных уравнений

Цель работы: получение навыков по решению систем дифференциальных уравнений различными методами [3].

Порядок выполнения работы

Для систем дифференциальных уравнений вида

,

где А – главная матрица системы уравнения, размера , В – матрица свободных коэффициентов уравнений, размера , найти решения при заданных начальных условиях методами:

  • аналитически;

  • одним из численных методов, реализованным в виде процедуры Mathcad, например, с помощью функции rkfixed.

Если выбранный метод не позволяет получить решение, перейти к следующему методу или следующей задаче.

Теоретические сведения

1. Аналитическое решение систем неоднородных дифференциальных уравнений (формула Коши)

Рассмотрим линейную неоднородную систему дифференциальных уравнений, записанную в матричном виде,

. (6)

Соответствующая ей однородная система

.

Решение однородной системы имеет вид

, (7)

где с – постоянная интегрирования.

Общее решение системы (6) складывается из решения однородной системы и частного решения :

. (8)

Частное решение будем искать в виде

. (9)

Подставляя (9) в исходную систему (6), получаем

.

Дифференцируем и подставляем в левую часть уравнения

,

заменяем его значением в правой части уравнения

,

приводим подобные слагаемые

,

выражаем

,

находим неизвестную функцию , учитывая, что при t = 0 постоянная интегрирования равна нулю:

,

где  – текущая переменная интегрирования.

Подставляя полученные выражения (7) и (9) в общее решение (8), получаем

,

или

.

Используя начальные условия , находим окончательный вид решения системы неоднородных дифференциальных уравнений (6) в матричном виде

. (10)

2. Решение систем дифференциальных уравнений численными методами в среде Mathcad

Mathcad предоставляет пользователю библиотеку встроенных функций Differential Equation Solving, предназначенных для численного решения систем дифференциальных уравнений. В состав ее входят функции Mathcad, предназначенные для решения задачи Коши и граничных задач для нормальных систем обыкновенных дифференциальных уравнений. Задачи для уравнений высших порядков сводятся к соответствующим задачам для нормальных систем.

Рассмотрим задачу Коши:

(11)

Система (11) называется нормальной системой дифференциальных уравнений. Численное решение задачи Коши состоит в построении таблицы приближенных значений xi,1 , xi,2 , ..., xi,N решения x1 (t), x2 (t), ..., xN (t) на отрезке [t0 , tN ] в точках t1 , t2 , ..., tN, которые называются узлами сетки. Обозначив

,

,

,

,

где – искомое решение, – вектор начальных условий, а – вектор правых частей, запишем систему дифференциальных уравнений в векторной форме:

, .

В Mathcad решить задачу Коши для такой системы можно с помощью следующих функций:

  • rkfixed(x0, t0, tn, n, F) – решение задачи на отрезке методом Рунге – Кутта с постоянным шагом;

  • Rkadapt(x0, t0, tn, n, F) – решение задачи на отрезке методом Рунге – Кутта с автоматическим выбором шага;

  • Bulstoer(x0, t0, tn, n, F) – решение задачи на отрезке методом Булирша-Штера.

Смысл параметров для всех функций одинаков и определяется математической постановкой задачи:

x0 – вектор начальных условий ;

t0, tn – начальная и конечная точки отрезка интегрирования системы (левая и правая границы интервала времени);

n — число точек в интервале [t0, tn];

F — имя вектора-функции правых частей.

Если известно, что искомое решение достаточно гладкое, можно использовать функцию Rkadapt, которая ищет решение с переменным шагом, то есть там, где решение меняется медленнее, шаг увеличивается, а в области быстрого изменения функции шаг уменьшается, что ускоряет поиск решения. Возвращается же решение с равным шагом.

Когда известно, что решение является гладкой функцией, более точное решение даёт функция Bulstoer, которая использует метод Булирша-Штера, и имеет те же аргументы, что и rkfixed.

3. Приведение дифференциальных уравнений высших порядков к нормальному виду

Пусть система n-го порядка описывается уравнением:

. (12)

Чтобы уравнение (12) имело единственное решение необходимо задание начальных условий.

,

.

Введя новые неизвестные функции, можно привести уравнение (12) к системе n дифференциальных уравнений первого порядка. Такую систему называют нормальной системой дифференциальных уравнений:

Пусть

x(t)=x1(t),

тогда

,

(13)

,

.

Совокупность уравнений (13) можно записать следующим образом:

.(14)

Уравнение (14) в матричном виде

. (15)

Решение нормальных систем дифференциальных уравнений возможно любым из изложенных выше методов.

4. Приведение матричного уравнения к новым

координатам

Аналитическое решение системы нормальных дифференциальных уравнений (15) осложняется в случае, если матрица А недиагональная, так как

.

Для нахождения значений можно привести уравнение (15) к новым координатам, в которых матрица, подобная А была бы диагональной.

Уравнение n-го порядка (15) в векторно-матричном виде подвергнем неособым преобразованиям,

x(t) = Тy(t),

где Т – неособая матрица (имеет обратную матрицу) перехода к новой системе координат y. Откуда

,

подставим в исходное уравнение (15):

.

Последнее выражение умножим на Т-1 слева:

.

Обозначим

, (16)

где  – диагональная матрица собственных значений матрицы A.

Окончательно приходим к уравнению:

. (17)

В уравнении (17) две неизвестные матрицы –  и Т-1. Элементы матрицы  – собственные значения матрицы А можно найти двумя способами:

1) из характеристического уравнения:

,

здесь Е – единичная диагональная матрица;

2) с помощью функции Mathcad eigenvals(A).

Аргумент А функции eigenvals – матрица. Функция возвращает собственные значения аргумента.

Для нахождения матрицы Т обе части выражения (16) умножим слева на Т

,

тогда . (18)

Для того чтобы получить Т такое, чтобы оно диагонализировало матрицу А, необходимо найти решение уравнения (18).

В Mathcad для расчета нормализованной матрицы, составленной из собственных векторов матрицы-аргумента, можно воспользоваться функцией eigenvecs(A). Аргумент А функции eigenvecs – исходная матрица А. Функция возвращает системообразующую матрицу Т, преобразующую матрицу А к канонической (диагональной) форме Это возможно, если корни характеристического уравнения различные.

После определения элементов матриц –  и Т, можно воспользоваться известной формулой решения систем дифференциальных уравнений в матричном виде (10). Для уравнения (15) в случае размера матриц решение имеет вид

,

где

.

Искомая функция x(t):

.

5. Решение матричного уравнения с помощью теоремы Лагранжа-Сильвестра

Метод позволяет получить аналитическое решение системы нормальных дифференциальных уравнений (15) в случае, если матрица А недиагональная, не прибегая к линейному преобразованию координат. Матрица eAt представляет собой фундаментальную матрицу системы Ф(t). Рассчитать значения элементов матрицы Ф(t) можно с помощью теоремы Лагранжа-Сильвестра.

.

Теорема утверждает, что ряд от матрицы сходится к конечной сумме , где i – собственные значения матрицы А.

. (19)

Для функции f(A) = eAt с учетом (19) получаем

.

Таким образом, для матрицы А, размером имеем

,

для матрицы размером 3х3: