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

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

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

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

Массивы В модели на Аду[.оя[с переменные вводятся с помошью кнопки [О~ панели инструментов, Введенные таким образом переменные могут представлять не только простую скалярную переменную, ее можно определить как матрицу или многомерный массив. Для прямоугольных матриц и олномерных массивов Апу[.од[с предоставляет улобные средства их определения и работы с ними как с едиными объектами. В список операций над матрицами в Апу].оя]с входят все основные операции линейной алгебры, для выполнения таких операций нет необходимости использования каких-либо управляюших конструкций Зача, например циклов.

Операции нал многомерными массивами, определенными как переменные Апу]оя]с матричного типа, выполняются с целым объектом, например скалярное умножение скалярной величины с на матрицу л определится как с*а, сложение двух матриц л и в запишется как я+в и т. п. В Апу[ оп[с возможно также использование массивов языка 3ача. Мпссив в,7о[п — это набор объектов одного и того же (произвольного) типа, на которые ссылаются по общему имени, а различают отдельные элементы массива по номеру (индексу).

Индексация массивов начинается с нуля, поэтому последний элемент массива из н элементов будет иметь индекс п-т, а первый — индекс в. Одномерный воссев — это просто список однотипных объектов. Построение массива включает два этапа. Во-первых, нужно объявить переменную массива с указанием типа элементов массива. Рбший формат объявления массива: <тип> <имя переменкой> [ ]; Здесь <енп> объявляет базовый тип массива (т. е. тип объектов. которые данный массив будут составлять), <ммя переменной> — имя переменной этого массива, например: Зпс соппс[ ]; После такого объявления массива с именем поппе еше не сушествует, порождается только массив "без значения".

Чтобы связать имя соппс с фактическим массивом целых, нужно выполнить второй этап — выделение памяти для массива. Для этого используется операция пее, для которой нужно указать имя и число элементов массива: соипс = пен [<размер>]ч Часть !!. Средства Ялу[.од]с для имитационного моделирования систем Эта операция выделит лля массива память и инициализирует все элементы массива нулями. Например, после операции соппт = петт [10); можно обращаться к элементам массива поппе по номерам, от соппс[0) до соппс[э), например, инициализировать их: соппе[0) = 5; соппе[1) = 71 Аналогично тому, как это делается при объявлении переменных простых типов, возможна комбинацйя объявлений переменной массива с выделением массиву памяти. Например, объявление массива из десяти целых с выделением ему памяти: 1пе соппе[) = пеи 1пе [101; Альтернативно, для удобства, объявление массива может быть сделано и так: 1пс[ ) сорос; и объявление с порождением массива так: тпп[) сорос = пои ъпс [10]; 7.2.5.

Многомерные массивы В )ата многомерные массивы — это массивы массивов. Для обьявления многомерной переменной нужно определить каждый дополнительный индекс, используя свой набор квадратных скобок. Например, следующий оператор обьяаляет переменную пе'дььоте как двумерный массив 4н5 целых: тпс пездЬЬоте[1 [] = пеи 1пс [4)[51," Как и в одномерном массиве, наименьшее значение индексов здесь О, максимальное значение у первого индекса 3, у второго 4, Альтернативная форма объявления многомерного массива допустима и здесь: !се[1[) пегяЬЬота = пеи ъпе [4] [51; 7.2.6. Динамические массивы Во многих языках программирования (и в том числе, в )ата) вы должны зафиксировать размеры всех массивов в момент компиляции.

Во многих случаях это неудобно. Часто в моделях желательно создавать и уничтожать экземпляры некоторых классов динамически, во время работы модели. Например, это относится к реплицированным объектам Апу[.оя]с. Динамическое создание и уничтожение объектов является одной из главных концепций в многоагентном моделировании, которое мы рассмотрим в главе 15. Глава 7.

Сюдеиил о лзывв,йю, необходимые для резработи моделей не Апу1 к 159 В языке 3ауа существует тип весне -, который позволяет создавать дала иачвские массивы объектов любой природы, т. е. массины, число элементон в которых может меняться при выполнении программы. Фактически, экземпляры вектора являются контейнерами, в нем могут храниться объекты любого типа. Поэтому тип объектов, которые хранятся в векторе, является наиболее общим, прелполагается, что все хранящиеся в векторе объекты имеют тип ОЬдесе. Название вессс является несколько дезориентирующим, поскольку в Вача векторы не имеют ничего общего с векторами, используемыми в математике и физике. Математические вектора — это упорядоченные массивы одного и того же типа.

Вектора в Лва — это упорядоченные списки объектов произвольных типов. Создать новый вектор можно просто, даже не задавая его начальную ем- кость: чессот е = пеи чеснок ы; После такой инициализации вектор еще не солержит элементов. Тула их следует добавить явно. Мы рассмотрим работу с векторами далее на примере манипулирования реплипиронанными (размноженными) объектами. Именно векторы используются для хранения реплицированных экземпляров объектов в Апу1лрс.

У.З. Функции Как и но всех языках программирования, в За~а можно разбить сложную задачу выполнения вычислений на более простые подзадачи, называемые традиционно Функциями. В Хауа, как и в других объектно-ориентированных языках, функции называются метадалас Мы лалее будем использонать как то, так и другое название. Как будет видно далее, классы — основные структурные блоки объектно-ориентированного программирования — состоят из двух нилов компонентов, из переменных и методов. 7.3.1. Вызов методов клвссов Для вызова метода указывается имя метода, после которого следуют скобки.

Если метод имеет параметры, они перечисляются в скобках через запятую. Из любого места модели Апу) ой|с можно обращаться к методам, перечисленным в классе гесс в справочнике классов АпуЕорс. Примерами методов этого класса янляются: П математические функции: еч с, еып сое, сел, ехр, 1оя, ~сева и др.; гэ функции для работы с матрицами: еаа,, 1, ае сее, с еоероее и др.; П функции-генераторы случайных чисел: евно*, еирооеасуе1 и др. Часть И. Средства дпу(.од<сдав имитационного моделирования систем В этот класс также вхолят системные функции дастмае, дасоисат, де< лоос, Ьавсаселссь те и т.

и. Например, выполнив оператор х=дастыа<< в любом месте модели, мы по- лучим в переменной и вещественное значение текущего времени. 7.3.2. Функции: методы класса, определенные пользователем При создании нового класса пользователь может лобавить свои методы. В Апу(.оя(с есть несколькб способов определения функций как составных частей активных объектов. В каждый активный объект можно добавить новые функции с помощью иконок: табличную функцию ([~~~), арифметическую функцию О„1) и алгоритмическую функцию (Я). Кроме того, в каждом объекте Апу(.од<с, который компилируется в класс (кроме активных объектов это порты, анимация, стейтчарты и т.

и.), можно также определить функции в общей форме. Рассмотрим все их по порялку. Табличная функция Этот вид функции используется в случаях, когда зависимость от аргумента залается с помощью конечной таблицы соответствия а а ив е арсуиа а, аиа и суииц >. Апу(.оя(с предоставляет удобные средства для задания этих пар, а также для определения типа интерполяции функции (способа определения функции в промежутках между заданными значениями аргумента) и экстраполяции их (закона определение значений функции вне интервала определения аргументов).

Функция вводится с помощью кнопки (Щ панели инструментов при выделенном активном объекте или выбором команды Новая табличная функция в контекстном меню активного объекта. йлатеиатическая функция Математическая функция в активном объекте используется в случаях, когда зависимость от аргументов задается одним арифметическим выражением, включающим обычные математические функции, а также переменные, параметры и функции, определенные пользователем в данном активном объекте.

Здесь нельзя использовать условное выражение. В А<ту(.оя(с математическая функция вводится с помощью кнопки ~Х) панели инструментов при вылеленном активном объекте либо выбором команды Новая математическая функция в контекстном меню активного объекта. Использование кнопки Мастер позволяет при наборе кола определения функции в поле Тело функции автоматически включать уже определенные функции и параметры, а также стандартные функции. Глава 7 Сведения о языке (ауа, неойкдимые для разработки моделей на длу(ядр (4( Алгоритмическая функция Этот вид функции используется в случаях, когда зависимость от аргументов нельзя выразить одним простым арифметическим выражением, а требуется использовать более сложные конструкции.

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

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

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