- •«Математическое моделирование систем и процессов»
- •Лабораторная работа № 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.
2. Решение систем оду первого порядка
Для решения в MathCad системы уравнений любым из рассмотренных ниже методов исходная, т.е. записанная в математической форме система уравнений:
, , (1)
где t- аргумент(обычно подразумевается время),
fk(t,y1,y2,…yn) - заданная функция своих аргументов, должна быть преобразована к виду:
, (2)
где Y - вектор (матрица-столбец) искомых функций,
D(t,Y) - вектор (матрица-столбец) значений производных – вектор правых частей системы уравнений в любой точке решения, представленного в виде матрицы-столбца (Y(t).
Использование решающего блока Given …Odesolve является одним из способов решения систем ОДУ первого порядка. На рабочем листе система уравнений должна быть записана с производными слева, порядок записи начальных условий несущественен. Как и ранее правая часть уравнений отделяется от левой символом эквивалентности (выделенный знак равенства). Пример решения системы 3-х уравнений приведен на рис.3.
2. Решение системы оду методом Рунге-Кутта
Кроме блока Given…Odesolve в MathCad имеется ещё несколько функций, реализующих классические алгоритмы численного решения задачи Коши для систем обыкновенных дифференциальных уравнений. Важнейшими из них являются методы Рунге-Кутта интегрирования уравнений с фиксированным (rkfixed) шагом и с переменным шагом (Rkadapt), которые практически всегда приводят к решению. Аналогичные задачи позволяет решать и метод Булирша-Штера( Bulirsch-Stoer) с переменным и фиксированным шагом (функция Bulstoer), который в некоторых случаях даёт более точное решение при меньших затратах машинного времени. Для решения систем с вырожденной матрицей ОДУ предназначена функция Radau, которая реализует метод Розенброка.
Рис. 3. Пример решения системы ОДУ решающим блоком
Given …Odesolve.
2.1. Решение системы оду методом Рунге-Кутта с фиксированным шагом интегрирования (функция rkfixed)
Функция rkfixed возвращает матрицу S1 размерности (n+1)*npoits значений решения системы n - обыкновенных дифференциальных уравнений на отрезке [t0, t1] изменения аргумента t, определенного производными в векторе D(t,Y) и начальными условиями, заданными вектором Y0, методом Рунге-Кутта с постоянным (заданным) шагом изменения аргумента. Параметр n -точек задаёт число строк в матрице результата. Очевидно, чем больше число n-точек , тем точнее аппроксимация решения. Пример решения ОДУ методом Рунге-Кутта представлен на рис.4.
Обращение к функции имеет вид: rkfixed(Y, t0, t1, npoints, D).
Для решения системы уравнений с использованием этой функции необходимо:
присвоить начальное t0 и конечное значения t1 отрезка интегрирования (аргумента t);
задать (присвоить) число точек интегрирования (параметр npoints);
cоздать вектор начальных условий с именем Y0 размерности n;
создать вектор D(t,Y) правых частей системы уравнений – производных, размерностью n;
напечатать решение: S1:= rkfixed(Y0, t0,t1, npoints, D).
Рис. 4. Пример решения системы ОДУ функцией
rkfixed(y, x1, x2, npoints, D) и выводом решения в табличной форме
Решение системы уравнений представляет собой матрицу размерности (n+1)*npoits, поэтому для просмотра и оформления результатов необходимо аргументу t и искомым функциям присвоить значения соответствующих элементов векторов-столбцов матрицы решений S1 (интерполировать матрицу системой функций):
- значение вектора аргумента,
- значение первой функции,
- значение второй функции, (3)
- значение n-й функции.