Министерство образования и науки Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего образования
«Воронежский государственный лесотехнический университет имени Г.Ф. Морозова»
МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ
Методические указания к лабораторным работам
для студентов по направлению
35.04.02 - «Технология лесозаготовительных и деревоперерабатывающих производств»
Воронеж 2016
УДК 630*:51+630*:65.011.54 Бухтояров, Л.Д. Математическое моделирование [Электронный ресурс]:
Методические указания к лабораторным работам для студентов по направлению подготовки 35.04.02 - «Технология лесозаготовительных и деревоперерабатывающих производств» / Л.Д. Бухтояров,: ВГЛТУ. – Воронеж,
2016 – 36 с.
Печатается по решению учебно-методического совета |
|
ФГБОУ ВО «ВГЛТУ» (протокол № от |
г.) |
Рецензент: заведующий кафедрой электротехники и автоматики Воронежский ГАУ д-р техн. наук, проф. Д.Н. Афоничев
2
ОГЛАВЛЕНИЕ |
|
Оглавление |
3 |
Лабораторная работа № 1…………………………… ……………………………… |
4 |
Лабораторная работа № 2 ………………………… ……………………………… |
6 |
Лабораторная работа № 3. ………………………… ……………………………… |
12 |
Лабораторная работа № 4. ………………………………………………………… |
14 |
Лабораторная работа № 5. ………………………………………………………… |
15 |
Лабораторная работа № 6. ……………………………………………………… |
16 |
Лабораторная работа № 7. ……………………………………………………… |
18 |
Лабораторная работа № 8…………………………………………………………… |
19 |
Лабораторная работа № 9…………………………………………………………… |
21 |
Лабораторная работа № 10………………………………………………………… |
24 |
Лабораторная работа № 11………………………………………………………… |
26 |
Лабораторная работа № 12………………………… ……………………………… |
28 |
Лабораторная работа № 13………………………… ……………………………… |
29 |
Лабораторная работа № 14………………………… ……………………………… |
30 |
Лабораторная работа № 15………………………… ……………………………… |
31 |
Лабораторная работа № 16………………………… ……………………………… |
32 |
Лабораторная работа № 17………………………… ……………………………… |
33 |
Лабораторная работа № 18……………………… ……………………………… |
34 |
Список используемой литературы………………………………………………….. |
36 |
3
Лабораторная работа №1
Редактирование графа модели с помощью графического конструктора GEM
Конструктор моделей GEM («Generator Models») позволяет автоматизировать процесс создания графа модели и автоматически генерировать программный код на языке C++. Таким образом, разработчик модели основное внимание может уделить не структуре и синтаксису программы, а структуре и параметрам самой модели и ее узлов. Кроме того, графический конструктор предупреждает разработчика о возможных ошибках и не позволяет выполнять заведомо неверные действия. Тем самым снимается ряд проблем, возникающих при ручном кодировании модели в виде программного файла.
Конструктор GEM состоит из программного файла gem.exe, файлов настроек с расширением «ini», файла помощи и примеров имитационных моделей. При запуске gem.exe перед разработчиком появляется основное окно, содержащее меню, панель «горячих кнопок», панель инструментов, информационную строку (рис.6.1.
Рис.1 «Основное окно конструктора GEM с пустой областью построения графа»
Рабочая область пуста, для редактирования необходимо создать либо новую модель,
либо загрузить ранее сохраненную.
Всю информацию о модели конструктор сохраняет в файле с расширением
«pgf» (Pilgrim graf file). При создании законченной версии модели, разработчик может
сгенерировать соответствующий модели программный файл с расширением «cpp», который
4
подлежит дальнейшей компиляции в среде Visual C++ с подключением необходимых библиотек и ресурсов Pilgrim.
В основе любой имитационной модели лежит граф взаимодействия ее процессов.
Выделим типовые действия редактирования графа модели:
добавление новых узлов;
перемещение узлов в области построения;удаление существующих узлов;
определение маршрутов переходов транзактов, или ссылок.
Вконструкторе все перечисленные действия выполняются «перетягиванием»
объекта, обозначающего тип требуемого узла или действия, из панели инструментов в область построения графа. Панель инструментов в левой части окна редактора содержит значки, обозначающие узлы системы.
В панели инструментов находится набор значков всех типов узлов системы. Следует заметить, что для нескольких различных типов узлов может существовать одно и то же обозначение. Например, квадратом обозначаются узлы типа QUЕUЕ, SEND и ATTACH.
Поэтому под каждым значком с изображением узла находится кнопка с текущим типом создаваемых узлов данного обозначения. Для изменения типа достаточно щелкать мышью по
кнопке с именем типа до появления необходимого.
Местоположение узла в плоскости построения графа не несет никакой смысловой нагрузки с точки зрения логики модели. Поэтому конструктор позволяет свободно перемещать узлы так, чтобы граф модели был удобен для восприятия. При перемещении
узлов также используется технология перетягивания объектов.
Аналогичным образом выполняется удаление узла: в панели инструментов необходимо захватить значок удаления узла и перетащить его на узел, который требуется удалить. Узел
будет удален вместе со всеми входящими и исходящими ссылками.
Дополнительные условия возникают при удалении узлов, содержащих переход на нижнюю плоскость. Например, если требуется удалить, узел типа PARENT, то конструктором проверяется условие пустой детализирующей плоскости. Алгоритм конструктора не позволит удалить узел типа PARENT, пока на детализирующей его плоскости находится хотя бы один узел, так как это приведет к его потере. Чтобы в подобной ситуации упростить удаление множества узлов на плоскости в меню «плоскость» существует специальный пункт «удалить все узлы текущей плоскости». Несколько по-иному, чем для
PARENT, реализовано разрешение на удаление узлов обращения к подпрограмме, т. е.
РАY, RENT, DOWN. Если в модели имеется плоскость-подпрограмма для единственного узла РАY, RENT или DOWN, то его нельзя удалить, пока плоскость непустая (так же как
в случае с PARENT). Если же к подпрограмме обращаются несколько узлов типа РАY, RENT 5