Ю. Карпов - Иммитационное моделирование систем с AnyLogic 5 (1124147), страница 15
Текст из файла (страница 15)
Щелкните по кнопке Построить. В нашем примере обнаружились ошибки (рис. 5.б): действительно, нами не определены параметры хю и врв. Рис. 6.6. Ошибка компиляции На наличие ошибки указывает появившийся символ Я в строке статуса окна редактора. Если при трансляции проекта в нем найдены ошибки, то построение программы на затя не завершается, и в появившемся окне Вьпюд внизу экрана будет представлен список обнаруженных ошибок с информацией о них. Двойной щелчок мыши по строке, в которой указана информация об ошибке, открывает окно и место в нем, где компилятор обнаружил эту ошибку. Для завершения построения модели указанные параметры нужно задать.
Пусть хю = 0.5, арв = О.ОЕ Параметры эти являются параметрами активного объекта наатс, потому они вводятся в окне свойств данного объекта. Для задания хю сделайте активным окно редактора структуры объекта неатш Появится окно Свойства этого объекта. В данном окне для задания параметров следует щелкнуть мышью на кнопке [~$ расположенной пол полем Параметры, либо дважды щелкнуть левой кнопкой мыши в любом месте этого поля. Появится диалог Параметры для Глава б. Разработка простых моделей непрерывных систем определения нового параметра. У него уже предопределено имя рахат, тип теа1 и пустое поле с именем По умолчанию (следовательно, по умолчанию это будет вещественная переменная и ее значение будет нулевым).
Замените имя параметра на ко, в поле значения установите 0.5, а тип оставьте теа1. Остальные поля также оставьте без изменения. При нажатии кнопки ОК этого окна в поле Параметры окна свойств нашего активного объекта невке появится строчка Имя: ко Тип: теа1. Переменная ерз со значением 0.0! задается так же. Снова выполните проверку синтаксиса: нажмите кнопку Построить ~.
В результате на экране вы получите следующее — рис. 5.7. Рис. 5.7. Переменные и параметры модели неате Зеленая галочка в строке статуса внизу окна редактора свидетельствует о том, что синтаксис модели правильный. Заметьте, что внизу под полем с именем Параметры лля удобства манипулирования в этом поле со списками параметров помещены шесть кнопок со следующей функциональностью — рис. 5.8. Построение модели закончено. Вы можете сравнить свою модель с моделью иеа -с1, помешенной в папку Моде! Еха!пр!евфрат! П. 70 Часть гд Средства АлуЕсдгс для имитационного моделирования систем Введение нового параметра редактирование выделенного параметра Удаление выделенноп> параметра Перемещение выделенного параметра Дублирование выделенною параметра Рис.
5.8. Кнопки управления параметрами 5Л.6. Запуск модели Щелкнув на кнопке ~3~~ запуска выполнения модели по цгагам, после компиляции в окне наблюдения увидим открытым только окно готя переменных и параметров с их начальными значениями (рис. 5.9). Рис. В.В. Окно гост модели Невес Предопределенное имя косе дано единственному экземпляру единственного корневого класса невок. Переменные в этом дереве помечены треугольниками (Ь и х), а константы — кружками (ера и хО). Запуск модели (~В'~) приведет к тому, что переменные (г и х в этом окне начнут изменяться в соответствии с определенными для них уравнениями. Системы дифференциальных и алгебраических уравнений, определенные в проектах Апу1.оя(с, при выполнении модели решаются одним нз встроенных численных методов.
Сам метод и необходимая точность решения выбираются системой автоматически, если пользователь не изменит предварительные установки в окне свойств объекта вагыьасаоп. По умолчанию выполнение модели закончится, когда счетчик модельного времени дойдет до 100 (это условие остановки эксперимента также может быть изменено в окне свойств объекта эгвш1аеьопв). Проведите несколько экспериментов с различными скоростями выполнения данной модели, используя кнопки останова, рестарта, запуска. Глава б.
Разработка простых моделей непрерывных систем 5.1.7. Графики ~диаграммы) Одним из преимуществ Апу(.оя!с является возможность наглядного представления поведения модели, н частности, представления изменения во времени всех ее переменных. Ввелем графики изменения переменныххи Ь. !. Запустите модель на выполнение по шагам !8!ь) или нажмите кнопку рестарта модели ф1). 2. Выберите в главном меню. команду Вид ~ Новая диаграмма или щелкните кнопку Ц) на панели инструментов. 3.
В поле окна появившегося графика перетащите из окна гоо! переменную х, нажав на этой переменной левой кнопкой мыши. 4. Второй график постройте так: в контекстном меню переменной Ь (в окне гоо!) выберите вариант Сйаг!. 5. Введите еше один график и включите в него обе переменные поочерелно. 6. Запустите модель на выполнение. В окнах будут рисоваться графики значений от времени соответствующих переменных. Настройка параметров графикон производится с помощью окна свойств, вызываемого командой Параметры диаграммы из контекстного меню данного графика.
Контекстное меню графика, как и любого объекта модели Апу).оя!с, вызывается щелчком правой клавишей мыши, помещенной на этом объекте. Поэкспериментируйте с установкой цвета графикон, возможностью установки опций отображения каждого набора данных на своем графике, размерами отображаемого окна данных, с возможностью отображения фазовой диаграммы, когда по обеим осям графика откладываются значения переменных, и т. и.
Заметьте, что переменные и параметры нашей модели в окне Содержимое диаграммы контекстного меню любого графика имеют имена вила: <имя объекта> И ЧЕРЕЗ тОЧКу <имя переменной в этом объекте>. Нацрныср, ссылка на переменную х здесь записана как тосе.к. Это стандартный прием объектно-ориентированной разработки.
Переменные х, Ь и параметры хО и ерз опрелелены как элементы корневопз объекта со стандартным именем .осе (см. рис. 5.9), поэтому они имеют здесь соответствующие ссылки. Построенную к данному моменту модель можно сравнить с эталонной моделью не сз в папке Моде! Ехаптр!ез~рагг П. Провелите серию экспериментон с моделью, перезапуская ее с различными параметрами. Изменять параметр, как уже говорилось, можно в окне этого параметра, появляющемся в результате двойного клика на нем в окне гпо! или при выборе команды Изменить контекстного меню данного параметра (рис.
5. !О). Часть И. Средства Аль одк для имитационного моделирования систем Рис. 6.10. Графики модели неатс 5.1.8. Эксперименты Вернитесь в редактор, разрушив скомпилированную модель (кнопкой ®. Дважды щелкнув на объекте втлм1астол окна классов проекта, в окне Свойства вы можете увидеть (и при необходимости изменить) начальные установки компьютерного имитапионного эксперимента, который можно выполнить с построенной моделью.
На вкладке Общие этого окна можно выбрать общие установки — вариант выполнения модели либо в виртуальном времени, либо в реальном времени (с заданным соотношением модельного и физического времени), а также изменить именно для этого эксперимента параметры модели. На вкладке Дополнительные можно установить условие прекращения выполнения модели, выбрать численный метод решения системы обыкновенных дифференциальных уравнений и его параметры. По умолчанию метод будет выбираться автоматически на основе анализа системы уравнений. Пользователь может сгенерировать несколько экспериментов различных типов, кото ые можно выполнить с одной и той же моделью.
Щелкните на кнопке еа панели инструментов или выберите команду Новый эксперимент Глава 5. Разработка простых моделей непрерывных систем 73 в контекстном меню объекта эксперименты. В появившемся окне можно выбрать любой из доступных типов экспериментов: Простой эксперимент, Оптимизационный эксперимент и т. п. Более подробно вопросы проведения различных типов экспериментов мы рассмотрим позже. 5.1.9. Анимация модели Зля лучшего понимания динамики модели и наблюдения развивающихся во времени процессов, в АпуЕой(с предусмотрена возможность построения анимированного изображения, состоящего из динамических графических элементов.
Графичесие элементы здесь называются динамическими, поскольку все их параметры — координаты, размер, цвет и даже их видимость — в процессе выполнения модели можно сделать зависимыми от переменных и параметров, которые меняются со временем при выполнении модели, Вернитесь в редактор, разрушив скомпилированную модель и, щелкнув правой кнопкой мыши в окне классов на имени неате в лереве проекта, выберите в появившемся контекстном меню этого объекта левой кнопкой мыши команду Новая анимация.
После щелчка по кнопке ОК в появившемся диалоге, в окне редактора появится окно анимации (рис. 5.11). Заметьте, что этот объект появился с именем за~паевое в дереве проекта как составная часть класса неасс. Если окно анимации будет закрыто, открыть его можно двойным щелчком мыши по этому имени в окне классов или выбором команды Открыть в его контекстном меню. Окно анимации представляет собой плоскость с системой коорлинат (Х, У) с шагом нанесенной сетки 1О пикселов. Так же, как единицу молельного времени можно считать любым интервалом реального времени, размер одного пиксела в окне анимации можно ассоциировать с любой единицей длины, Начало координат и их направления отмечены голубыми стрелками в центре поля; эти стрелки не будут видны при анимации. Заметьте, что ось 1'направлена вниз, хотя ее можно направить вверх установкой' флажка в поле Перевернуть ось х' окна свойств анимации. Штриховой прямоугольник на поле показывает рамку — ту часть поля анимации, которая будет видима при работе модели.
Размещение рамки относительно начала координат так же, как и его размеры, можно изменять. Выделите границу рамки (штриховую линию), щелкнув на ней левой кнопкой мыши, и в появившемся окне свойств рамки установите следующие значения координат: Х= -300 и У= -200. Это координаты левого верхнего угла рамки относительно ее начала координат.