Время межгенерации является временным интервалом между последовательными сущностями, которые генерирует блок. У вас может быть процесс генерации, который:
Периодический
Дискретизируется из случайного распределения или основанного на времени сигнала
Из пользовательского кода
Для примера, если блок генерирует объекты при T = 50, T = 53, T = 60 и T = 60,1, то соответствующее время межгенерации равно 3, 7 и 0,1. После ухода каждой новой сущности блок определяет время межгенерации, которое представляет интервал, пока блок не сгенерирует следующую сущность.
Вы конфигурируете блок Entity Generator путем указания критериев, которые он использует для определения времени межгенерации для созданных им сущностей. Можно сгенерировать сущности:
Из случайного распределения
Периодически
В произвольные моменты времени
Используйте выпадающий список в параметре Time source блока Entity Generation, чтобы определить время межгенерации:
Dialog
Использует параметр Period, чтобы периодически изменять время межгенерации.
Signal port
Использует сигнал от внешнего блока, такого как Sine wave блок, чтобы изменить время межгенерации.
MATLAB action
Включает поле Intergeneration time action, в которое вы вводите MATLAB® код для настройки времени межгенерации.
В новой модели, из SimEvents® библиотеку, перетащите Entity Generator, Entity Terminator и Scope блоки.
На вкладке Entity Generation Entity Generator установите параметр Time source равным Dialog
.
На вкладке Statistics блока Entity Terminator установите флажок Number of entities arrived.
Соедините эти блоки и симулируйте модель. Период равен 1.
Варьируйте период, чтобы 8
и снова симулируйте модель. Наблюдайте за изменением возможностей.
В новой модели из библиотеки SimEvents перетащите блоки Entity Generator и Entity Terminator. Из Simulink® библиотека добавляет блоки Sine Wave и Scope.
На вкладке Entity Generation Entity Generator установите параметр Time source равным Signal port
.
На блоке Entity Generator появляется новый сигнальный порт.
На вкладке Statistics блока Entity Terminator установите флажок Number of entities arrived.
Дважды кликните Sine Wave блок. По умолчанию первое значение блока Sine Wave 0
. Чтобы добавить постоянное значение синуса, чтобы получить выход этого блока, измените параметр Bias на другое значение, например 1.5
.
Соедините эти блоки и симулируйте модель.
После генерации каждой сущности блок Entity Generator считывает значение входного сигнала и использует это значение в качестве временного интервала до следующей генерации сущности.
Заметьте E капитала на сигнальной линии от блока Sine Wave до блока Entity Generator. Этот значок указывает на переход от основанной на времени системы к системе дискретных событий.
В новой модели из библиотеки SimEvents перетащите блоки Entity Generator, Entity Terminator и Scope.
На вкладке Entity Generation Entity Generator установите параметр Time source равным MATLAB action
.
На блоке Entity Generator появится новое Intergeneration time action поле.
Чтобы настроить время межгенерации для модели, в поле Intergeneration time action введите код MATLAB, например:
dt = rand();
Примечание
Для времени межгенерации необходимо задать фиксированное имя, dt. Вы не можете задать другое имя переменной для этого значения.
На вкладке Statistics блока Entity Terminator установите флажок Number of entities arrived.
Соедините эти блоки и симулируйте модель.
Чтобы сгенерировать сущности с экспоненциальным случайным временем прибытия, в поле Intergeneration time action введите код MATLAB, который использует mean
функция, например:
mean = 1; dt = -mean*log(1-rand());
Discrete Event Chart | Entity Generator | Entity Queue | Entity Replicator | Entity Server | Entity Terminator | MATLAB Discrete Event System