- •«Математическое моделирование систем и процессов»
- •Лабораторная работа № 1
- •1. Интерфейс программного пакета MathСad
- •2. Ввод и вывод информации
- •3. Применение встроенных функций MathСad' а
- •4. Формат представления численного результата
- •5. Вычисление производных и интегралов
- •5.1. Вычисление производных
- •5.2. Вычисление интегралов заданных функций
- •6. Редактирование рабочего листа
- •6.1. Копирование, удаление и перемещение объектов рабочего листа
- •6.2. Ввод текста
- •7. Содержание лабораторной работы.
- •Варианты задания
- •8. Отчет по лабораторной работе
- •Лабораторная работа №2
- •1. Построение и редактирование двумерных графиков в декартовой системе координат.
- •1.1. Построение графиков
- •1.2. Форматирование двумерных графиков в декартовых координатах
- •1.3 Построение двумерных графиков в ортогональной системе координат для различных типов данных
- •1.3.1. Построение графиков в тексте вычислительной программы
- •1.3.2. Построение графиков по табличным данным
- •Построение гистограмм
- •1.3.4. Построение графиков дискретных функций, заданных системой неравенств
- •3. Содержание работы.
- •Лабораторная работа № 3
- •1. Системы линейных уравнений
- •1.1. Запись векторов и матриц в MathCad
- •1.2. Решение систем линейных алгебраических уравнений методом обратной матрицы
- •1.3. Решение системы линейных алгебраических уравнений встроенной функцией lsolve
- •1.4. Решение системы линейных алгебраических уравнений блоком Given…Find
- •2. Системы нелинейных алгебраических уравнений
- •2.1. Решение с помощью вычислительного блока Given…Find
- •2.2. Решение системы нелинейных алгебраических уравнений вычислительным блоком Given…Minerr.
- •3.3. Решение системы алгебраических уравнений в символьной форме
- •4. Размерные величины в решающем блоке
- •Содержание и порядок выполнения работы.
- •Варианты для самостоятельной работы.
- •Цель лабораторной работы № 4
- •1. Решение оду с помощью решающего блока Given …Odesolve
- •2. Решение оду первого порядка
- •2.3. Решение оду n-го порядка с одной неизвестной функцией
- •2. Решение систем оду первого порядка
- •2. Решение системы оду методом Рунге-Кутта
- •2.1. Решение системы оду методом Рунге-Кутта с фиксированным шагом интегрирования (функция rkfixed)
- •Решение системы оду методом Рунге-Кутта с автоматическим выбором шага интегрирования (Rkadapt)
- •3. Решение системы оду методом Булирша – Штера (функция Bulstoer)
- •5. Решение системы оду методом Розенброка (функция Radau)
- •6. Содержание лабораторной работы.
- •Библиографический список
- •«Математическое моделирование систем и процессов»
- •Самара 2008
- •«Быстрые клавиши» в MatCad.
Решение системы оду методом Рунге-Кутта с автоматическим выбором шага интегрирования (Rkadapt)
Функция Rkadapt возвращает матрицу S1 размерности (n+1)*m значений решения системы n - уравнений в m - точках интервала интегрирования методом Рунге-Кутта с автоматическим выбором шага изменения аргумента. Уравнения заданы вектором правых частей (производных) уравнений D(t,Y) и начальными условиями, определёнными вектором Y0.
Рис. 5. Решение системы ОДУ методом Рунге-Кутта
с автоматическим выбором шага интегрирования (функция Rkadapt).
Обращение к функции имеет вид: Rkadapt(Y0, t1, t2, m, D), где m- число точек, в которых отыскивается решение.
Результат решения выводится в виде матрицы, поэтому для дальнейшего использования, например для построения графиков решения, его необходимо преобразовать в систему функций. На рис. 5 приведен пример решения системы ОДУ функцией Rkadapt c выводом решения в виде системы графиков. Для этого матрица решения так же должна быть интерполирована системой функций (см. формулы 3).
3. Решение системы оду методом Булирша – Штера (функция Bulstoer)
В общем случае интегрирования системы уравнений с переменным шагом обращение к функции имеет вид: bulstoer(Y, t0, t1, m, D, kmax, s),
где Y - вектор начальных условий;
t0, t1 - начальная и конечная точки интервала интегрирования;
m - число шагов интегрирования;
Y - вектор правых частей(производных) уравнений;
kmax - максимальное число промежуточных точек интегрирования;
s - минимальный интервал (шаг) между промежуточными точками.
Рис. 6. Пример решения системы ОДУ с использованием функции Bulstoer
с фиксированным шагом интегрирования
Если используется метод решения с постоянным шагом, то обращение к функции упрощается и имеет вид: bulstoer(Y, t0, t1, m, D).
Как и в случае применения методов Рунге-Кутта решение системы уравнений выводится в матричной форме, поэтому оно должно быть интерполировано для последующего использования в вычислительном процессе.
Пример применения метода Bulirsch –Stoer’а для решения системы ОДУ приведен на рис.6. Для сравнения методов в качестве примера рассмотрена та же система уравнений, что и на рис. 5.
5. Решение системы оду методом Розенброка (функция Radau)
Если система дифференциальных уравнений записана в матричной форме, а коэффициенты при неизвестных функциях значительно, например, на несколько порядков величины, отличаются друг от друга, то такую матрицу называют вырожденной, а систему уравнений «жёсткой».
Решение «жёсткой» системы уравнений методом Рунге – Кутта приводит к необходимости уменьшения (измельчения) шага интегрирования, что в свою очередь приводит к накоплению ошибок интегрирования, и как следствие, к неустойчивости решения. Поэтому для решения таких систем разработан специальный алгоритм, названный по имени его автора, методом Розенброка. Метод позволяет получить решение как «жёстких» обыкновенных дифференциальных уравнений одной переменной, так и систем уравнений. В MathCad этот алгоритм реализуется функцией Radau.
В общем случае обращение к функции имеет вид: Radau (y, x1, x2, num, D, kmax, s), в котором аргументы: y, x1, x2, num, D, kmax, s, имеют тот же смысл, что и в рассмотренных выше решающих функциях. В частном случае фиксированного шага интегрирования обращение к функции упрощается - Radau (y, x1, x2, num, D).
На рис.7 приведен пример решения системы ОДУ, элементы матрицы которой отличаются примерно на четыре порядка.
Рис. 7. Пример решения системы ОДУ функцией Radau