INN function rn2,c2

0,2/1,6

Графическая интерпретация непрерывной функции показана на рис. 4.5.


Рис. 4.5

Так как максимальное значение, которое может выдать генера­тор случайных чисел, равно 0,999, то фактические значения интерва­лов времени распределены равномерно на интервале [2, 5] и равны, соответственно, одному из значений: 2, 3, 4, 5. Если генератор выдаст число 0,999, функция, которая показана на рис. 4.5, примет значение 5,996, целая часть которого равна 5 (это и будет значением GPSS-функции INN). В случае, если генератор случайных чисел RN2 вы­даст значение 0,4, GPSS-функция INN примет значение 3 (см. рис. 4.5).

GPSS-функция INN не может принять значение, равное 6 (несмотря на то, что второй элемент второй пары опе­ратора описания координат функции 0,2/1,6 равен 6).

Точные граничные значения RN2, соответствующие возможным значениям функции INNN, представлены в табл. 4.23.

Таблица 4.23

Целая часть значения функции Диапазон значений RN2
2 [0,0 - 0,25]
  (0,25 - 0,50]
  (0,50 - 0,75]
  (0,75 - 0,999]

Равномерное распределение [2, 3, 4, 5] не может быть задано непосредственно с помощью операндов А и В блока G ЕNЕRАТЕ. Здесь имеем четыре возможных значения, тогда как интервал А ± В (А и В целые) всегда имеет нечетное число элементов.

Пример 4.20

Часто возникают ситуации, когда в процессе моделирования необходимо переходить в различные блоки программы в зависимости от логики работы модели. Стандартные блоки GPSS World такие, как ТЕSТ (см. параграф 4.16) и ТRANSFER, не всегда могут решить эту проблему, так как они позволяют распределять транзакты максимум по двум направлениям. В случае, когда осуществляется услов­ный переход на одну из нескольких меток (если более двух, то в обычных языках программирования используется оператор CASE ОF), необходимо построить переключающую функцию. Для вызова переключающей функции используется блок ТRANSFER в режиме безусловного перехода.

Пример переключающей функции:

РЕRЕКL FUNCTION RN4,D5

0.2,LВ1/0.4,LВ2/0.6,LВЗ/0.8,LВ4/1,LВ5


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: