В этих примерах показано, как можно создать пользовательскую визуализацию объектов на основе MATLAB. В примере показана визуализация макета ресторана с входящими, обедающими и выходящими объектами клиента.
Модель содержит следующие основные компоненты:
Блок Resource Pool моделирует столы в ресторане. Так как в ресторане 10 столиков, сумма ресурса составляет 10.
Блок генератора объектов (Patron Enter) генерирует объекты, представляющие клиентов. Они входят в зону ожидания, представляемую функцией «Получение ресурсов». Здесь ждут свободного стола.
Когда таблица доступна для клиента, он может перейти к блоку Entity Server, который моделирует продолжительность приема пищи.
Когда клиент заканчивает есть, он отпускает стол обратно в бассейн и выходит из ресторана.
modelname = 'seCustomVisualization';
open_system(modelname);

seAnimator визуализирует ресторан следующим образом:
seAnimator обеспечивает визуализацию макета ресторана для модели.
Он генерирует фигуру, содержащую макет ресторана с входом, зоной ожидания, 10 обеденных столов и выходом.
Когда объекты перемещаются во время моделирования, они создают маркер (глиф) для каждого объекта на рисунке и программируют движение для маркера так, что он перемещается из одной точки в другую.
Аниматор назначает идентификатор таблицы каждому ожидающему клиенту и показывает, как клиент перемещается в таблицу.
Чтобы проверить атрибуты объекта клиента, приостановите модель и щелкните значок объекта клиента. На рисунке показан атрибут TimeToDine.
Чтобы движение выглядело непрерывным, он использует таймер MATLAB для периодического выполнения функции, которая постепенно перемещает каждый объект в направлении его назначения.
Он использует графику MATLAB для отображения статистики на рисунке о количестве объектов, входящих, ожидающих и уходящих.
При щелчке объекта в визуализации отображаются содержащиеся в нем атрибуты. Он использует обратный вызов графики MATLAB для программирования ButureDureFcn на каждом маркере объекта.
animator = seRestaurantAnimator;
Для моделирования модели введите:
sim(modelname);

close(animator.getFigureHandle); bdclose all; clear modelname animator
Генератор объектов | Терминатор объекта | Очередь