Главная » Просмотр файлов » Ю. Карпов - Иммитационное моделирование систем с AnyLogic 5

Ю. Карпов - Иммитационное моделирование систем с AnyLogic 5 (1124147), страница 75

Файл №1124147 Ю. Карпов - Иммитационное моделирование систем с AnyLogic 5 (Ю. Карпов - Иммитационное моделирование систем с AnyLogic 5) 75 страницаЮ. Карпов - Иммитационное моделирование систем с AnyLogic 5 (1124147) страница 752019-05-10СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 75)

Это записано в псле Действие окна свойств переходов стейтчарта. 23.2.3. АнимаЦиЯ Анимация в этой модели построена так же, как и в молели Репгтс1ша Координаты (х, т( шпильки определены так: Х: Ь*иаГЬ.вгп(а1рпаргп) т: с*Наса.сов(а1рпарьп) Использование вместо вгп и сов при вызове этих функций масц.вьп И Маки.сов СбЪяеияЕтСя тЕМ, ЧтО вгп И сов — В дЕйетВИтЕЛЬНОСтИ, фуНКцИИ библиотеки наса компилятора Зата, и написание их без указания имени библиотеки возможно только в поле Уравнения окна свойств переменной редактора АпуЕоя(с. При компиляции программы на Зага по построенной модели к именам математических функций„встретившимся в выражениях в поле Уравнения, имя нас(т добавляется компилятором автоматически. 23.3.

Броуновское движение (В1111агд Ва11в) Эта простая динамическая система имитирует столкновения биллиардных шаров, падаюших и силкиваюшихся мячей, воздушных шаров или частиц при хаотичном броуновском движении. Модель имитирует очевидное явление, и она интересна не этим, а тем, как логика взаимодействия объектов модели может быть выражена с помошью языка Затя. Модель с именем в1111а г( ва11в находится в папке Моде! Ехагпр!ез1рап Ч.

23.3.1. Постановка проблемы Одинаковые по размеру и массе шары двигаются в ограниченном двумерном просгранстве (камере) без потери энергии с упругим соударением. Ф' ( ир=-ит х Г и2' = -кг( Рис. 23.3. Изменение скоростей шаров при упругом соударении Часть )т. Примеры моделей для различных областей применения Рисунок 23.3 показывает примеры столкновений шара с препятствием. Если препятствие — горизонтальная либо вертикальная стенка, то новое значение скорости шара получить легко: соответствующая составляющая скорости шара изменяет свое направление. Если препятствием является другой шар, то при центральном упругом столкновении таких шаров они просто обмениваются скоростями. Мы предполагаем в нашей модели, что силы трения очень малы по сравнению с упругими силами.

Поэтому при нецентральном столкновении действием сил трения можно пренебречь. Соединим центры масс сталкивающихся шаров прямой и разложим скорость каждого шара на нормальную составляющую„направленную вдоль линии центров двух шаров, и составляющую, перпендикулярную к ней. Поскольку силы трения отсутствуют, изменяться будут только нормальные составляющие скорости шаров (чх) так же, как при центральном столкновении„т.

е. при упругом столкновении шары с одной массой обмениваются нормальными составляющими скоростей (рис. 23.3). 23.3.2. Модель Модель содержит два активных обьекта. Один активный обьект — шар, двигающийся в ограниченном двумерном пространстве и сталкивавшийся с другими шарами.

Другой — это корневой активный объект лоос, включающий массив таких шаров. 23.3.3. Модель шара Шар моделируется активным объектом ва11, который имеет семь параметров. хнах и хиах — это максимальные координаты двумерной прямоугольной области, в которой двигаются шары, ч — начальная скорость шара, х— радиус шара. Параметры х и д у шара определены как аюбальные (в терминах языка 3аха сп)а)пические3, то есть относящиеся ко всему классу шаров, а не к каждому шару (экземпляру класса). Эти параметры мы будем изменять в экспериментах с моделью из корневого объекта. Кроме того, для активного объекта ва11 определен дополнительный динамический параметр целого типа с, принимающий в качестве значения результат вычисления функции оп(вота с]ъасх(гав).

Если параметр динамический, то при каждом его использовании он перевычисляется. Таким образом, кажлый раз при использовании с этот параметр будет принимать случайное целое значение, распределенное равномерно между 0 и 255. К динамическому параметру с нужно обращаться так: с(). Еше один параметр со1ох типа со1ох имеет значение: пеы Со1ох( с(), с(], с(] ) Каждый раз при его использовании конструктор пеы Со1ох( сы, с(), с() ) будет порождать значение случайного цвета. (лава 23. Обучение физике и механике Модель шара имеет четыре вещественных переменных: положение его центра х и у в координатах Х и ); и составляющие скорости чх и уу по этим координатам (см.

рис. 23.3). Координаты являются интегралами от соответствующих скоростей: д(х( ~г(Г = чх а(у(Ыг = ~у Производная от вертикальной скорости определена как ускорение свободного падения д, направленное вниэч б(чу((бс = -д В активном объекте ва11 определена также еше одна переменная оиьег типа яссы Присваивание ей начального значения (коог(яегоипег(! даст указатель на корневой объект. Это означает, что в активном объекте ва11 мы можем обращаться к любым объектам корневого класса всог. 23.3.4. Поведение шара Поведение шара — зто свободное движение, определяемое скоростями чх и ту.

Шар свободно движется до тех пор, пока не столкнется с препятствием. Препятствия могут быть трех видов: вертикальная граница области, в которой движутся шары, горизонтальная граница и, наконец, другой шар. При столкновениях скорости шаров меняются в соответствии с рис. 23.3. Столкновение с препятствием — зто событие, которое может отслеживаться с помощью стейтчарта. Стейтчарт (рис. 23.4) имеет одно состояние, которое отражает свободное движение шара, и три перехода, по одному на каждый из типов событий. (тис. 23.4.

Стейтчарт шара Переходы, моделирующие столкновение с границами области, очевидны. Столкновение с границей произойдет, если центр шара (с координатами х„у) приблизился к ней на расстояние радиуса г и шар движется в направлении этой границы. Изменение знака соответствующей составляющей скорости Часть (т. Примеры ьаделейдля различных областей лрименения при наступлении события столкновения с границей моделирует результат упругого отталкивания от нее. Условие столкновения данного шара с другим шаром проверяется функцией Сиеокнго (), КОтОрая ВОЗВращаЕт уКаЗатЕЛЬ На тот Шар, С КОтсрЫМ СтОЛКНуЛСя данный шар. Если столкновения не было, функция возвратит пустой указатель пп11. Эта функция определена в окне Код активного объекта ва11. Если столкновение произошло, то скорости ух и оу данного шара и того шара, с которым произошло столкновение, пересчитываются в поле Действие окна свойств соответствующего перехода стейтчарта.

23.3.5. Дополнительный код Окно Код активного обьекта ва11 содержит фрагменты программного кода на языке )ага, которые необходимы для описания алгоритмической части модели. Поле Уравнения этого окна содержит те соотношения, которые описаны при определении связей переменных модели. Поле Дополните)вьиый код класса содержит определение дополнительных переменных и функций (методов в терминах языка )ауа) для данного класса. Злесь опрелелены две переменные, и и оо1ог, а также функция сьеохнъг (), возврашаюшая указатель на тот шар, с которым сталкивается данный.

Поэтому эта функция ИМЕЕТ тИП Ва11. У функции сьеовиъг () есть единственный оператор гегигп (оипег.спеох( гЫа ) ); являюшийся просто вызовом функции сиеох() в классе яоог, возвращающей нам тот шар, с которым при движении данный шар может столкнуться. В качестве параметра функции спеси() передается указатель гиви на данный шар. В данном шаре ссылка на него же хранится в переменной гМа (см.

разд. 7.7). Очевидно, что в рамках определения класса ва11 мы не можем определить функцию сьеох(), поскольку она должна иметь информацию о положении и скоростях всего множества шаров, а это множество оп- рсдЕЛЕНО НЕ В КваССЕ Ва11, ОПИСЫВаЮШЕМ Шар, а В аКтИВНОМ ОбЪЕКтЕ аооо. ПОЛЕ КОд ИввцпаЛИЗацнв ОКНа КОд аКтИВНОГО ОбЪЕКта Ва11 СОдЕржИт ОПЕрации, которые необхолимо выполнить при порождении каждого экземпляра шара.

Это задание случайного направления движения любого порождаемого шара (новый шар будет двигаться со скоростью ч в случайно выбранном направлении), а также случайные значения координат его центра (распределенные равномерно в заданном пространстве так, чтобы не попасть на уже имеющиеся в этом поле шары): с)о ( х=пп1сога(г, Хвах-г); у=ипъгога(г, упах-г); ) ьп11е ( Спесхигс() != пп11 ); Глава 23. Об ние физике и механике 373 23.3.6. Модель корневого обьекта Эта модель очень проста.

Она включает массив объектов типа ва11 (их число установлено 10) и не имеет ни своих переменных„ни параметров. В окне Кед В ПОЛЕ ДОПОЛИИтЕЛЬИЫй Кед КЛаССа ОПрсдЕЛЕНа ТОЛЬКО фуНКцИя Сцесл11 типа ва11, возвращающая указатель на тот шар, с которым стаякивается шар ь, переданный ей как параметр.

В случае если столкновения нет, функция возвращает пустой указатель. 23.3.7. Анимация Для каждого шара анимация определена следующим образом. Шар представляется кругом с динамическим значением х радиуса (и, следовательно, радиус шара будет изменяться в процессе работы модели, если будет меняться х). Значения динамических координат круга определено переменными к и у (т.

е. положение шаров в анимации определено их координатами), а динамическое значение цвета заливки круга и линии заданы параметром се1ох, который при порождении шара принимает случайное значение цвета. Анимация корневого обьекта автоматически включает анимацию всех шаров, что означает, что порожденные экземпляры кругов (их начальное число 10) радиуса х со случайными начальными координатами, случайным направлением движения и случайно выбранным цветом будут двигаться, сталкиваясь, в прямоугольном пространстве, ограниченном размерами по оси Х от О до хаак и по оси 1'от О до жек, имитируя движения соответствующих шаров в модели.

23.3.8. Изменение радиуса шаров и параметра д В анимацию для корневого объекта добавлены заливка цветом пространства движения шаров, краткая информации о модели, слайлеры лля изменения радиуса шаров и ускорения свободного падения, а также кнопки для изменения числа шаров. рассмотрим возможность изменения радиуса шаров х во время работы модели. Если бы этот параметр был определен в классе ва11 как Простоя, то нам нужно было бы обращаться к нему из (анимации) класса весе только со ссылкой на конкретный экземпляр класса ва1ц Для того чтобы сделать возможным изменение радиуса сразу всех шаров из включающего их объекта аеое, можно применять'разные способы. Один из самых простых использован здесь.

Характеристики

Список файлов книги

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6418
Авторов
на СтудИзбе
307
Средний доход
с одного платного файла
Обучение Подробнее