Массивы

Решение некоторых проблем требует задания многоразмерных данных. Как и большинство других инструментов системной динамики, AnyLogic поддерживает переменные-массивы

Массив представляет собой хранилище чисел  - своего рода матрицу, у которой может быть произвольное количество размерностей. Каждая размерность имеет конечное число элементов - индексов. Только AnyLogic не имеет ограничений на количество размерностей в массиве, позволяя создавать массивы с любым количеством размерностей.

Массивы используются, когда:

Поскольку второй случай используется намного чаще, рассмотрим его более подробно. Пусть есть несколько подсистем, имеющих одинаковую структуру, но разные характеристики, заданные с помощью численных параметров. Предположим, вы создаете модель здоровья нации, в которой люди условно разделяются по трем характеристикам: полу, возрасту, и общественному положению. Вы можете создать такую многоуровневую модель, создав несколько отдельных моделей, по модели на каждую определенную группу населения. У этого подхода есть огромный недостаток: при необходимости изменения чего-либо в логике моделируемой системы, вам нужно будет внести эти изменения в каждую такую модель. 

С помощью же массивов вы можете создать такую многоуровневую модель на одной диаграмме. Рассмотренные характеристики удобно описываются с помощью перечислений: вместо того, чтобы создавать несколько различных моделей (по модели на каждую определенную группу населения), вы можеете просто создать массив со следующими размерностями: Gender(male, female), Age(child, teenager, adult, aged) и SocialGroup(wealthy, middleclass, deprived). Такая модель будет более компактной, и производимые вами изменения будут касаться не одного уровня, а всей многоуровневой модели.

Массивами в AnyLogic могут быть объявлены накопители, потоки, динамические переменные, а также параметры.

Демо модель: Bass Diffusion Arrays



См.также

 Размерности

 Задание переменной-массива

 Задание уравнений для массивов

           Справочник классов: Класс HyperArray