MET1…………………
MET2…………………
MET3…………………
MET4…………………
При моделировании непрерывной функции происходит линейная интерполяция, узлами интерполяции являются заданные точки. Рассмотрим в качестве примера моделирование случайной переменной, равномерно распределенной на интервале
[2; 5]. Зададим функцию:
INN FUNCTION RN2,C2
0,2/1,6
Так как максимальное значение, которое может выдать генератор случайных чисел, равно 0,999, то если в качестве второй точки укажем (1,5), значение 5 никогда не будет достигнуто. Поэтому необходимо указать пару (1,6). Если генератор выдаст число 0,999, то функция, которая показана на рисунке, примет значение 5,996, целая часть которого равна 5 (это и будет значением GPSS-функции INN). В случае, если генератор случайных чисел RN2 выдаст значение 0,4, GPSS-функция INN примет значение 3,6. Если необходимы целочисленные значения, то можно воспользоваться встроенной функцией INT – взятия целой части:
INT(FN$INN)
Из непрерывных функций, задающих известные распределения ранее часто встречалась функция XPDIS, теперь можно пользоваться библиотекой встроенных функций, см. [5, c.23-25].
|
|
Функции типа E, L, M расширяются возможности для значений функций, это могут быть СЧА, выражения в скобках, аргумент рассматривается как порядковый номер. Подробнее см. [2, c. 205].
3.6. Работа с параметрами транзакта, приоритеты
Каждый транзакт может иметь любое число параметров (атрибутов) до 100. В момент генерации все его параметры нулевые. Блок ASSIGN является основным средством для изменения значений параметров. Имеет формат: ASSIGN A,B,[C]
Операнд А определяет параметр, может быть номером, СЧА, выражением в скобках, СЧА*параметр (для косвенной адресации). Если значение параметра нужно увеличить или уменьшить в операнде А ставится знак + или –. Операнд В определяет значение, которое нужно положить в параметр или прибавить (отнять). Необязательный операнд С задаёт номер модификатора-функции (не нужно СЧА FN$), при его использовании значение функции в С умножается на В.