Главная страница

А.Е.Осоргин_-_AnyLogic_6_Лабораторный_практикум. Министерство образования и науки российской федерации федеральное государственное образовательное учреждение среднего профессионального образования Поволжский государственный колледж


Скачать 3.11 Mb.
НазваниеМинистерство образования и науки российской федерации федеральное государственное образовательное учреждение среднего профессионального образования Поволжский государственный колледж
Дата11.11.2022
Размер3.11 Mb.
Формат файлаpdf
Имя файлаА.Е.Осоргин_-_AnyLogic_6_Лабораторный_практикум.pdf
ТипПрактикум
#783062
страница2 из 10
1   2   3   4   5   6   7   8   9   10
Запустить модель и открыть презентацию класса Main.
Когда Вы запустите модель с помощью этой кнопки, откроется окно презентации либо эксперимента, либо одного из активных объектов запущенной модели, рис. 1.8. На презентации будут видны все элементы, в свойствах которых были установлены флажки
На презентации.

13
При проведении компьютерных экспериментов можно использовать все кнопки, показанные в верхней части окна рис. 1.8:
• запуск или продолжение моделирования
• запуск выполнения модели по шагам
• пауза
• останов модели и возврат в окно презентации эксперимента
В нижней части окна виден статус модели (пауза или выполнение, № прогона и др. информация).
Рис. 1.8
1.2.2. ЭКСПЕРИМЕНТЫ С МОДЕЛЬЮ
На рис. 1.8. кроме движущегося изображения мяча видны текстовый комментарий и "бегунки" или "слайдеры" – подвижные указатели для изменения параметров модели во время ее выполнения. Перемещая бегунки слайдеров, можно менять три параметра – ускорение свободного падения, долю потери скорости мяча при каждом отскоке и радиус мяча. Изменение параметров позволяет исследовать поведение модели в различных условиях – это и есть компьютерный эксперимент.

14
Проведите несколько экспериментов с моделью, изменяя параметры модели.
1.2.3. УПРАВЛЕНИЕ СКОРОСТЬЮ ВЫПОЛНЕНИЯ МОДЕЛИ И
ИЗОБРАЖЕНИЕМ
Модель AnyLogic может выполняться либо в режиме виртуального, либо в режиме реального времени.
В режиме виртуального времени модель выполняется без привязки к физическому времени
– она просто выполняется настолько быстро, насколько это возможно. Этот режим лучше всего подходит в том случае, когда требуется моделировать работу системы в течение достаточно длительного периода времени.
В режиме реального времени задается связь модельного времени с физическим, то есть задается количество единиц модельного времени, выполняемых в одну секунду. Это часто требуется, когда Вы хотите, чтобы презентация модели отображалась с той же скоростью, что и в реальной жизни.
Переключение между виртуальным и реальным временем исполнения модели осуществляется кнопкой Виртуальное/реальное время панели управления окна презентации, а уменьшение масштаба времени выполняется с помощью двух кнопок
Замедлить
, Ускорить и расположенного между ними поля. Это поле указывает коэффициент ускорения модельного времени относительно физического (здесь 1х означает единичный коэффициент ускорения).
Выполните несколько экспериментов с различными скоростями выполнения модели, используя кнопки управления.
1.2.4. НАСТРОЙКА ПРЕЗЕНТАЦИИ
Для повышения качества изображения можно использовать настройки презентации:
Обновить вид
Обновляет содержимое окна презентации.
Адаптивная частота отрисовки
Устанавливает режим адаптивной частоты отрисовки.
Уменьшить частоту отрисовки Уменьшает частоту отрисовки кадров.
Приоритет (частота отрисовки:
скорость выполнения)
Отображает текущее значение частоты отрисовки кадров. Вы можете изменить это значение с помощью кнопок Уменьшить частоту отрисовки и Увеличить частоту отрисовки.
Увеличить частоту отрисовки
Увеличивает частоту отрисовки кадров.
Отрисовка со сглаживанием
Включает/выключает режим сглаживания. Кнопка отображается нажатой, если режим сглаживания выбран.
1.2.5. НАВИГАЦИЯ ПО МОДЕЛИ
Расположенный в панели управления окна презентации выпадающий список
Навигация открывает организованный в виде дерева список объектов модели,

15
обеспечивая простую навигацию по модели и быстрый доступ к любым ее объектам, рис.1.9. Корнем дерева объектов является корневой объект запущенного эксперимента.
Если структура модели меняется во время выполнения модели, то эти изменения тут же отображаются в дереве объектов модели.
Рис. 1.9
Если выбрать объект
Ball
, то мы увидим его структурную диаграмму с динамично изменяющимися значениями переменных
Y
и
Vy
. AnyLogic поддерживает различные инструменты для сбора, отображения и анализа данных во время выполнения модели.
Простейшим способом просмотра текущего значения и истории изменения значений переменной или параметра во время выполнения модели является использование окна
инспекта. Щелкните мышью по значку переменной в окне презентации. Будет отображено небольшое желтое окно - это и есть окно инспекта, рис. 1.10.
Установите подходящий размер окна путем перетаскивания мышью нижнего правого угла окна инспекта. Если нужно, переместите окно, перетаскивая его мышью за панель названия окна.
Рис. 1.10
Чтобы переключить окно инспекта в режим графика щелкните мышью по символу графика
, находящегося в правом верхнем углу окна инспекта.

16
1.3. КОНТРОЛЬНЫЕ ВОПРОСЫ
1. В чем назначение стейтчартов?
2. Какие классы активных объектов включает проект balls
?
3. Продемонстрируйте на примере модели balls что такое структурная диаграмма.
4. Каким образом в модели balls реализован отскок мяча?
5. Для чего применяются динамические значения параметров в окне презентации?
6. Как запустить модель на выполнение?
7. В чем назначение слайдеров?
8. Что такое виртуальное время?
9. Как изменить цвет мяча на презентации?
10. Как переключиться из режима виртуального времени в реальное?
11. Как изменить скорость выполнения модели?
12. Как изменяются режимы отрисовки изображения?
13. В чем смысл эксперимента в программе AnyLogic?
14. Какие типы экспериментов поддерживаются программой AnyLogic?
15. Как изменить текущие значения переменных и параметров модели при ее выполнении?
16. Как показать график изменения переменной модели?
17. Как в модели balls задается потеря энергии при отскоке?

17
ЗАДАНИЕ 2
ДОРАБОТКА МОДЕЛИ BALLS
ЦЕЛИ ЗАНЯТИЯ
ƒ
продолжение знакомства с программой AnyLogic на примере модели Balls,
ƒ
освоение методов редактирования модели,
ƒ
ознакомление с технологией обработки событий (стейтчартами).
ФОРМА ОРГАНИЗАЦИИ ЗАНЯТИЯ
Фронтальная.
СТУДЕНТ ДОЛЖЕН ЗНАТЬ
ƒ
понятия: модель, имитационное моделирование, стейтчарт.
ƒ
основы алгоритмического языка Java
СТУДЕНТ ДОЛЖЕН УМЕТЬ
ƒ
пользоваться операционной системой Windows,
ƒ
ориентироваться в интерфейсе программы AnyLogic.
ОБЕСПЕЧЕННОСТЬ
ƒ
компьютер с установленной программой AnyLogic версии 6,
ƒ
модель Balls,
ƒ
настоящий курс лабораторно-практических работ.
ПРАКТИЧЕСКОЕ ЗАДАНИЕ
Выполним ряд упражнений с моделью
Balls
, которые дадут представление о средствах разработки моделей в AnyLogic.
2.1. ИЗМЕНЕНИЕ ЦВЕТА МЯЧА ПРИ ОТСКОКЕ
Дополним анимационное представление мяча динамическим цветом, так, чтобы при отскоке его цвет на несколько секунд изменялся на красный. Для этого нужно запомнить момент отскока и установить красный цвет окружности в презентации на небольшой интервал времени, следующий за этим моментом.
Создайте переменную t0
, которая будет фиксировать момент отскока. Для этого перейдите на диаграмму класса активного объекта
Ball,
затем в панели Палитра откройте вкладку Системная динамика и перенесите иконку
(Параметр) на диаграмму. В поле Имя открывшегося окна свойств этого параметра введите t0
, а в поле
Значение по умолчанию введите
-1
(рис. 2.1). Для того чтобы параметр t0
фиксировал момент отскока, нужно значение текущего времени в модели при выполнении условия "отскок" запомнить в этом параметре. За наступлением данного условия следит стейтчарт,

18 поэтому выделите мышью переход стейтчарта (рис. 2.2), и в поле Действие добавьте выражение: t0 = time();
При каждом вызове функция time()
возвращает текущее значение модельного времени.
Рис. 2.1
Параметр t0
имеет начальное значение -1, а при работе модели хранит значение момента времени последнего отскока. Для того чтобы каждый раз при отскоке мяча его цвет изменялся на красный (в течение 0.3 сек.), нужно перейти на диаграмму класса
Root,
выделить зеленый овал (мяч), в панели свойств этого овала открыть вкладку
Динамические и установить в поле Цвет
заливки динамическое значение цвета (рис.
2.3): time()Это условное выражение устанавливает цвет заливки изображения мяча ball красным в течение 0.3 сек. после каждого отскока.
Рис. 2.2

19
2.2. МОДЕЛЬ С ДВУМЯ МЯЧАМИ
Добавим в модель второй мяч. Перейдите на диаграмму класса активного объекта
Root и перенесите мышью на него еще один экземпляр мяча. Появившийся объект автоматически получит имя ball1
(рис. 2.4). При этом в окне свойств нового экземпляра мяча мы увидим те же значения параметров мяча, которые были определены для активного объекта
Ball
Рис. 2.3
Рис. 2.4
Установите начальные значения х0
и у0
нового мяча равными 200 и 300 соответственно.
Чтобы на презентации показать движение второго мяча, продублируйте изображение

20 первого мяча с помощью клавиш и . Параметры нового изображения овала (координаты и цвета) связаны с характеристиками объекта ball
. Их нужно связать с новым объектом – шаром с именем
Ball1
. То есть, вместо
Bаll.x, Ball.у и
Bаll.t0
в соответствующих полях нужно записать
Bаll1.x, Ball1.у и
Bаll1.t0
(рис. 2.5). А для значения радиусов Радиус X и Радиус Y нужно установить
Ball1.r вместо
Ball.r
Рис. 2.5
Теперь при запуске модели будут имитироваться независимые движения двух шаров.
Продемонстрируйте свою модель преподавателю.
2.3. ПРОИЗВОЛЬНЫЕ ПЕРЕМЕЩЕНИЯ МЯЧА
В нашей модели мячи движутся строго вертикально, отскакивая от горизонтальной поверхности. Это происходит потому, что начальная скорость мячей по координате x
равна 0. Если мы изменим начальные скорости мячей по x
, нам необходимо будет описать поведение мячей при столкновении с вертикальными стенками и потолком.
Зададим случайные начальные значения скоростей
Vx и
Vy
. Для этого перейдите на диаграмму класса активного объекта
Ball,
выделите переменную
Vx и в поле Начальное
значение этой переменной замените значение 0 на значение uniform(-100, 100).
При этом у различных экземпляров активного объекта
Ball начальная скорость по координате

21
х будет задана случайно из диапазона (-100, +100) метров в секунду. То же самое сделайте для переменной
Vy
Для моделирования отскока мяча от потолка нужно на переходе стейтчарта изменить условие столкновения мяча с поверхностью. Мячи двигаются в пространстве, размером
500х500 метров. В поле При выполнении условия панели свойств перехода стейтчарта активного объекта
Ball выражение: у <= r && vy < 0 измените на: у <= r && vy < 0 || у >= 500 - r && vy > 0
При этом, выполняемое действие должно остаться без изменения, а именно: смена направления скорости
Vy с частичной ее потерей.
Для того чтобы мяч отскакивал от вертикальных стен, нужно записать это условие в стейтчарте добавлением дополнительного перехода. Откройте палитру Диаграмма
состояний и сделайте двойной щелчок мышью по иконке
Переход , включив, тем самым, режим рисования. Нарисуйте переход внутри состояния
Movement
, как показано на рис.
2.6.
Рис. 2.6
В окне свойств этого перехода в поле Происходит нужно выбрать вариант
При выполнении условия
, в поле При выполнении условия следует записать условие касания мяча о вертикальную стенку: х <= r && vx < 0 || х >= 500 - r && vx > 0 а в поле Действие записать изменение направления составляющей
Vx скорости мяча и запомнить момент времени, когда произошло касание стенки для последующего изменения цвета мяча, рис. 2.7: vx = -(1 - k) * vx; t0 = time();
Запустите модель. Поэкспериментируйте с ней, используя слайдеры. Продемонстрируйте модель преподавателю.

22
Рис. 2.7
2.4. КОНТРОЛЬНЫЕ ЗАДАНИЯ
1. Измените модель таким образом, чтобы слайдеры действовали на оба мяча одновременно. (5+)
2. Измените модель таким образом, чтобы подсчитывалось время, прошедшее с момента последнего отскока мяча. (5)
3. Измените модель таким образом, чтобы при отскоке от горизонтальных стенок мяч становился желтым на 0,5 сек., а при отскоке от боковых – зеленым. (5)
4. Измените модель таким образом, чтобы на один мяч сила тяжести действовала по оси Х, а на другой по оси Y. (5)
5. Измените модель таким образом, чтобы в верхней-правой четверти пространства мячи были синего цвета, а в остальном пространстве – голубого, а при отскоке цвет менялся на желтый на 0,5 сек. (5)
6. Измените модель таким образом, чтобы при каждом отскоке изменялся диаметр мяча на
20%. (4)
7. Измените модель таким образом, чтобы мяч №1 менял свой цвет тогда, когда мяч №2 соударяется со стенками. (4)
8. Измените модель таким образом, чтобы в верхней половине пространства мячи были желтого цвета, а в нижней – голубого, при отскоке цвет не меняется. (4)
9. Измените модель таким образом, чтобы при полете вправо мяч был зеленого цвета, а при полете влево - пурпурного, при отскоке цвет не меняется. (4)
10. Измените модель таким образом, чтобы подсчитывалось количество отскоков мяча. (4)
11. Измените модель таким образом, чтобы при полете вверх мяч был красного цвета, а при полете вниз - голубого, при отскоке цвет не меняется. (4)
12. Измените модель таким образом, чтобы моделировалось движение мяча в правой половине пространства. (4)
13. Измените модель таким образом, чтобы моделировалось движение мяча в верхней

23
половине пространства. (4)
14. Измените направление движения мяча на горизонтальное. (3)
15. Измените модель таким образом, чтобы при отскоке цвет одного из мячей становился зеленым, а другого – желтым. (3)
16. Измените модель таким образом, чтобы мяч вначале выполнения модели был в правом верхнем углу. (3)
17. Измените модель таким образом, чтобы при отскоке мячи меняли цвет на 1 сек. (3)
18. Измените направление движения мяча на вертикальное. (3)

24
ЗАДАНИЕ 3
ПОСТРОЕНИЕ МОДЕЛИ СЕРДЦА
ЦЕЛИ ЗАНЯТИЯ
• Научиться создавать модели с нуля.
• Создавать графики в презентации модели.
• Создавать слайдеры для управления параметрами модели.
ФОРМА ОРГАНИЗАЦИИ ЗАНЯТИЯ
Фронтальная.
СТУДЕНТ ДОЛЖЕН ЗНАТЬ
ƒ
понятия: проект, активный объект, переменная, параметр, презентация, эксперимент,
ƒ
основы алгоритмического языка Java,
ƒ
интерфейс программы AnyLogic.
СТУДЕНТ ДОЛЖЕН УМЕТЬ
ƒ
выполнять лабораторно-практическое задание №2,
ƒ
редактировать параметры модели в программе AnyLogic,
ОБЕСПЕЧЕННОСТЬ
ƒ
компьютер с установленной программой AnyLogic версии 6,
ƒ
настоящий курс лабораторно-практических работ.
ПРАКТИЧЕСКОЕ ЗАДАНИЕ
3.1. ПОСТАНОВКА ЗАДАЧИ
Мы рассмотрим простейшую математическую модель, описывающую процессы, похожие на биение сердца. Эта модель описана двумя дифференциальными уравнениями первого порядка:
;
)
(
3
ε
b
x
x
dt
dx


=
,
0
x
x
dt
db

=
где: х
– радиус сердца, х0
– его начальное значение, b
– переменная, а
ε
– параметр eps
В этой модели мы исследуем характер зависимостей переменных х
и b
от времени при разных значениях параметра eps
, а также построим фазовую диаграмму зависимости радиуса х
от переменной b

25
3.2. СОЗДАНИЕ НОВОГО ПРОЕКТА
Запустите AnyLogic. Для построения нового проекта щелкните кнопку Создать панели инструментов, либо выберите в основном меню Файл / Создать / Модель.
В появившемся диалоговом окне установите рабочую папку: рабочий_диск:\номер_группы\ФИОстудента, наберите heart как имя модели и щелкните
Далее. В следующем окне оставьте выбранным по умолчанию Начать создание модели с
«нуля» и щелкните Готово. Новый проект под названием heart будет создан.
Окно редактора нового проекта содержит несколько панелей. Слева в панели проектов автоматически строится дерево проекта. Оно обеспечивает навигацию по всем элементам проекта, которые будут создаваться при построении модели. Для нашего проекта в нем уже создан корневой класс активного объекта с именем
Main
, а для проведения экспериментов с моделью уже создан один эксперимент с именем
Simulation
Центральная панель – панель графического редактора класса активного объекта в которой мы будем производить основные построения модели.
Нижняя панель – это панель свойств выделенного элемента модели. В данном случае панель показывает свойства класса корневого объекта с именем
Main
, если окно его структуры активно. Измените имя корневого объекта нашей модели, назвав его
Heart
(вместо установленного по умолчанию имени
Main
). Для этого в поле Имя вкладки
Основные панели Свойства корневого объекта введите
Heart вместо
Main
. В панели проектов имя корневого объекта сразу изменится.
Поскольку AnyLogic создает для каждого класса активного объекта соответствующий Java класс, при задании имени класса активного объекта нужно руководствоваться правилами названия классов в Java. Пожалуйста, начинайте имя класса с заглавной буквы.
3.3. ПОСТРОЕНИЕ МОДЕЛИ
В нашей модели должны присутствовать две переменные состояния – х и b
, и два параметра – х0
и eps
, где х0
- начальное значение х
. Начальное значение переменной b
зададим константой.
В модели переменная х
определяется дифференциальным уравнением: dx/dt = (х – х
3
- b)/eps с начальным значением х
, равным х0
. В AnyLogic можно подобные зависимости задавать именно в таком аналитическом виде. Для того чтобы таким образом определить переменную х
, зададим ее в форме накопителя.
Для этого перетащите мышью элемент
1   2   3   4   5   6   7   8   9   10


написать администратору сайта