2016-11-15 12 views
0

Я создаю ArrayList, который содержит объект типа «TimeRecord» (объект, который я определил). Каждый объект TimeRecord содержит следующие поля:Как построить данные с помощью пользовательских объектов в AnyLogic?

  • ID -> идентификатор поля
  • время_запуск -> время, когда объект проход в конкретной точке моей сети
  • конечного момента -> время, когда объект проход в другой конкретной точке моей сети

Каждое поле времени заполняется функцией AnyLogic time() и имеет целью собрать время между двумя точками в моей сети. Возможно ли передать список с разницей времени StopTime - StartTime в объект диаграммы для расчета времени каждого запроса?

ответ

0

Да, вы можете использовать набор данных и обновить его с помощью события. Например:

  1. Перетащите набор данных в основной (возможно, использовать гистограмму набора данных является хорошей идеей в вашем случае, это зависит от того, что вы хотите, чтобы показать)
  2. Перетащите событие на главную обновить каждый n раз.
  3. В действии поля события вы можете добавить что-то вроде этого:

dataset.reset(); for (TimeRecord t : YourArrayList) { dataset.add(t.StopTime - t.StartTime); }

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

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

 Смежные вопросы

  • Нет связанных вопросов^_^