- •Лабораторная работа №3
- •2. Решение систем дифференциальных уравнений численными методами в среде MathCad
- •Приведение дифференциальных уравнений высших порядков к нормальному виду
- •Приведение матричного уравнения к новым координатам
- •Примеры выполнения
- •1. Аналитическое решение систем неоднородных дифференциальных уравнений (формула Коши)
- •2. Решение систем дифференциальных уравнений численными методами в среде MathCad
- •3. Приведение дифференциальных уравнений высших порядков к нормальному виду
- •4. Приведение матричного уравнения к новым координатам
- •Контрольные вопросы
- •Содержание отчета
- •Задания
Лабораторная работа №3
РЕШЕНИЕ СИСТЕМ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ
Цель работы: получение навыков по решению систем дифференциальных уравнений различными методами в среде MathСad
Порядок выполнения работы
Для систем дифференциальных уравнений вида
, (3.1)
где А – главная матрица системы уравнения, размера nxn, В – матрица свободных коэффициентов уравнений, размераnxn, найти решения при заданных начальных условиях методами:
аналитически;
одним из численных методов, реализованным в виде процедуры Mathcad, например, с помощью функции rkfixed.
Если выбранный метод не позволяет получить решение, перейти к следующему методу или следующей задаче.
Теоретические сведения
1. Аналитическое решение систем неоднородных дифференциальных уравнений (формула Коши)
Рассмотрим линейную неоднородную систему дифференциальных уравнений, записанную в матричном виде:
, (3.2)
Соответствующая ей однородная система:
. (3.3)
Решение однородной системы имеет вид:
, (3.4)
где с– постоянная интегрирования.
Общее решение системы (10.2) складывается из решения однородной системы и частного решения:
. (3.5)
Частное решение будем искать в виде:
. (3.6)
Подставляя (10.6) в исходную систему (10.2), получаем:
.
Дифференцируем и подставляем в левую часть уравнения
,
заменяем его значением в правой части уравнения
,
приводим подобные слагаемые
,
выражаем
,
находим неизвестную функцию :
, (3.7)
где – текущая переменная интегрирования.
Подставляя полученные выражения (3.4) и (3.6) в общее решение (3.5), получаем
,
с учетом (,,,,,,?????????27) общее решение имеет вид:
. (3.8)
Используя начальные условия , находим окончательный вид решения системы неоднородных дифференциальных уравнений (3.2) в матричном виде:
. (3.9)
2. Решение систем дифференциальных уравнений численными методами в среде MathCad
Mathcad предоставляет пользователю библиотеку встроенных функций Differential Equation Solving, предназначенных для численного решения систем дифференциальных уравнений. В состав ее входят функции Mathcad, предназначенные для решения задачи Коши и граничных задач для нормальных систем обыкновенных дифференциальных уравнений. Задачи для уравнений высших порядков сводятся к соответствующим задачам для нормальных систем.
Рассмотрим задачу Коши:
(3.10)
Система (3.10) называется нормальной системой дифференциальных уравнений. Численное решение задачи Коши состоит в построении таблицы приближенных значений 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.