AnyLogic
Развернуть
Размер шрифта

Параметры или переменные: что выбрать?

Вы можете задавать данные внутри модели с помощью параметров и переменных.

Параметры

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

Обычно используются числовые параметры, хотя вы можете создавать параметры любого типа или Java класса.

Переменные

Агент может содержать переменные. Переменные обычно используются для моделирования изменяющихся характеристик агента или для хранения результатов работы модели. AnyLogic поддерживает два типа переменных - простые переменные и коллекции.

Переменная представляет собой переменную любого скалярного типа или Java класса.

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

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

Коллекция используется для задания объекта данных, объединяющего в себе сразу несколько однотипных элементов. AnyLogic поддерживает следующие коллекции Java: ArrayList и LinkedList.

Что использовать: параметры или переменные?

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

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

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

Как мы можем улучшить эту статью?