
- •Лабораторная работа №3
- •2. Решение систем дифференциальных уравнений численными методами в среде MathCad
- •Приведение дифференциальных уравнений высших порядков к нормальному виду
- •Приведение матричного уравнения к новым координатам
- •Примеры выполнения
- •1. Аналитическое решение систем неоднородных дифференциальных уравнений (формула Коши)
- •2. Решение систем дифференциальных уравнений численными методами в среде MathCad
- •3. Приведение дифференциальных уравнений высших порядков к нормальному виду
- •4. Приведение матричного уравнения к новым координатам
- •Контрольные вопросы
- •Содержание отчета
- •Задания
2. Решение систем дифференциальных уравнений численными методами в среде MathCad
Метод Рунге-Кутта
Решим методом Рунге-Кутта исходную систему дифференциальных уравнений, записанную в виде:
для следующих начальных условий:
,
Присвоим начальному индексу массивов значение 1.
Сформируем вектор правых частей системы дифференциальных уравнений:
Сформируем вектор начальных условий:
Вызов функции rkfixed():
Результат работы функции – матрица Xrk (таблица) значений, первый столбец которой содержит значения времени, второй искомые значения x1(t), третий – x2(t).
Для
построения графика функций предварительно
зададим интервал изменения индекса:
Рис. 3.2. Сравнение численного решения методом Рунге-Кутта (штрихи) и аналитического (сплошные линии) решения системы дифференциальных уравнений
Метод Рунге-Куттас адаптивным шагом
Решим ту же систему дифференциальных уравнений методом Рунге-Кутта с адаптивным шагом.
Вектор правых частей уравнения и вектор начальных условий уже сформированы выше в примере решения системы дифференциальных уравнений методом Рунге-Кутта
Вызов функции rkadapt():
Результат работы функции – матрица Xrkа (таблица) значений, первый столбец которой содержит значения времени, второй искомые значения x1(t), третий – x2(t).
Для
построения графика функций предварительно
зададим интервал изменения индекса:
Рис. 3.3. Сравнение численного решения методом Рунге-Кутта с адаптивным шагом (штрихи) и аналитического (сплошные линии) решения системы дифференциальных уравнений
Метод Булирша-Штера
Решим ту же систему дифференциальных уравнений методом Булирша-Штера. Вектор правых частей уравнения и вектор начальных условий уже сформированы выше в примере решения системы дифференциальных уравнений методом Рунге-Кутта
Вызов функции Bulstoer():
Результат работы функции – матрица Xrkb (таблица) значений, первый столбец которой содержит значения времени, второй искомые значения x1(t), третий – x2(t).
Для
построения графика функций предварительно
зададим интервал изменения индекса:
Рис. 3.4. Сравнение численного решения методом Булирша-Штера(штрихи) и аналитического (сплошные линии) решения системы дифференциальных уравнений
3. Приведение дифференциальных уравнений высших порядков к нормальному виду
Приведем дифференциальное уравнение к системе нормальных дифференциальных уравнений:
.
Введем замену:
x(t)=x1(t),
,
.
тогда
,
.
Приводим к нормальному виду:
,
.
В матричном виде система уравнений (44):
или
.
4. Приведение матричного уравнения к новым координатам
Решим полученное в предыдущем пункте уравнение с помощью MathCad. Задаем исходные данные:
Решение будем искать в виде:
Так как матрица А недиагональная, то решение будем искать с помощью приведения системы дифференциальных уравнений к новым координатам. Для этого определяем собственные значения матрицы А – векторlи формируем матрицуL:
находим
матрицу L, обратнуюT, а затем и матрицуТ:
Выполняем
проверку:
находим
значения матрицы
и
подынтегрального выражения
:
Находим функции y(t)иx(t):
Строим график:
Рис. 3.5. Решение с помощью приведения системы дифференциальных уравнений к новым координатам
Контрольные вопросы
Представьте дифференциальное уравнение третьего порядка, описывающее систему, в виде системы дифференциальных уравнений первого порядка в нормальном виде.
Выведите общий вид аналитического решения дифференциального матричного уравнения.
Перечислите функции Mathcadдля численного решения систем дифференциальных уравнений.
Как решить дифференциальное уравнение четвертого порядка с помощью функций rkfixed,rkadapt,bulstoer?
В чем отличия между функциями rkfixed,rkadapt,bulstoer?
Как решить дифференциальное матричное уравнение третьего порядка с помощью диагонализации матриц?