Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОиАСУ / Лабораторная работа 3.doc
Скачиваний:
57
Добавлен:
21.03.2016
Размер:
3.25 Mб
Скачать

Лабораторная работа №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.