Задайте времена межгенерации для сущностей

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

  • Периодический

  • Выбранный от случайного распределения или основанного на времени сигнала

  • Из пользовательского кода

Например, если блок генерирует сущности в T = 50, T = 53, T = 60 и T = 60.1, соответствующие времена межгенерации равняются 3, 7, и 0.1. После того, как каждая новая сущность отбывает, блок определяет время межгенерации, которое представляет интервал, пока блок не генерирует следующую сущность.

Определите время межгенерации

Вы конфигурируете блок Entity Generator путем указания на критерии, которые он использует, чтобы определить времена межгенерации для сущностей, которые он создает. Можно сгенерировать сущности:

  • От случайного распределения

  • Периодически

  • В произвольные моменты времени

Используйте выпадающий список в параметре Time source блока Entity Generation, чтобы определить времена межгенерации:

  • Dialog

    Использует параметр Period, чтобы периодически отличаться времена межгенерации.

  • Signal port

    Использует сигнал от внешнего блока, такого как блок Синусоиды, чтобы отличаться времена межгенерации.

  • MATLAB action

    Включает поле Intergeneration time action, в котором вы вводите код MATLAB®, чтобы настроить времена межгенерации.

Периодически отличайтесь Intergeneration Times

  1. В новой модели, от библиотеки SimEvents®, перетаскивают Генератор Сущности, Терминатора Сущности и блоки Осциллографа.

  2. Во вкладке Entity Generation Генератора Сущности, установленного параметр Time source на Dialog.

  3. Во вкладке Statistics блока Entity Terminator установите флажок Number of entities arrived.

  4. Соедините эти блоки и моделируйте модель. Период равняется 1.

  5. Отличайтесь период к 8 и моделируйте модель снова. Наблюдайте изменение в осциллографе.

Используйте сигнал отличаться Intergeneration Times

  1. В новой модели, от библиотеки SimEvents, перетаскивают блоки Терминатора Генератора и Сущности Сущности. От Simulink® библиотека добавляют Синусоиду и блоки Осциллографа.

  2. Во вкладке Entity Generation Генератора Сущности, установленного параметр Time source на Signal port.

    Новый порт сигнала появляется на блоке Entity Generator.

  3. Во вкладке Statistics блока Entity Terminator установите флажок Number of entities arrived.

  4. Дважды кликните блок Sine Wave. По умолчанию первым значением блока Sine Wave является 0. Чтобы добавить постоянное значение в синус, чтобы произвести вывод этого блока, измените параметр Bias на другое значение, например, 1.5.

  5. Соедините эти блоки и моделируйте модель.

    После генерации каждой сущности блок Entity Generator читает значение входного сигнала и использует то значение в качестве временного интервала до следующей генерации сущности.

    Заметьте капитал E на сигнальной линии от блока Sine Wave до блока Entity Generator. Этот значок указывает на переход от основанной на времени системы до дискретной системы событий.

Настройте изменение Intergeneration Times

  1. В новой модели, от библиотеки SimEvents, перетаскивают Генератор Сущности, Терминатора Сущности и блоки Осциллографа.

  2. Во вкладке Entity Generation Генератора Сущности, установленного параметр Time source на MATLAB action.

    Новое поле Intergeneration time action появляется на блоке Entity Generator.

  3. Чтобы настроить времена межгенерации для вашей модели, в поле Intergeneration time action, вводят код MATLAB, например:

    dt = rand();

    Примечание

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

  4. Во вкладке Statistics блока Entity Terminator установите флажок Number of entities arrived.

  5. Соедините эти блоки и моделируйте модель.

Чтобы сгенерировать сущности с экспоненциальным случайным временем поступления, в поле Intergeneration time action, вводят код MATLAB, который использует функцию mean, например:

mean = 1;
dt = -mean*log(1-rand());

Смотрите также

| | | | | |

Связанные примеры

Больше о

Для просмотра документации необходимо авторизоваться на сайте