Если, например, обращение к этой функции выполнено из блока

1,1/3,2/5,4/10,8/15,100

ИМЯ FUNCTION A, B

Каждая функция связывает значение функции (СЧА FNимя) со значение независимой переменной.

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

Функции GPSSW. Команда FUNCTION

Далее будем рассматривать функции GPSSW. Если случайное число используется в качестве аргумента функции, то СЧА RNj принимает значения от 0 до 0,999999 включительно.

Еще пример

Полученное число преобразуется в эквивалентное ему значение, но уже принадлежащее интересующей нас выборке.

Разыгрывается случайное число, равномерно распределенное в диапазоне 0;1;

Генераторы случайных чисел

В GPSSW розыгрыш случайных чисел происходит в два этапа:

СЧА RNj возвращает целое случайное число в интервале 0;999. При необходимости их можно привести к любому другому целочисленному диапазону, определив соответствующую переменную с помощью операции деления по модулю. Например

RN1@24 +40 lдает случайное число в интервале 40;63. Т.е. для получения случайного числа в интервале а;в надо написать

RNj@(b-a+1) +a

Например, RN1@GH@LINE дает с.ч. в интервале [0;длина очереди LINE -1)].

var1 FVARIABLE RN2@24+40

…………………………….

GENERATE …………

ASSIGN d1, V$var1 ; в параметр d1 записывается с.ч. [40;63]

Когда при моделировании необходимо исследовать один или несколько вариантов модели при различных потоках случайных чисел, можно использовать блок RMULT, позволяющий изменять начальные значения первых 7 датчиков случайных чисел;

RMULT [A], [B], [C], [D], [E], [F], [G]

Здесь A, B и т.д. – начальное значение множителя для генераторов случайных чисел под номером 1, 2, и.т.д.

Для определения функции служит команда FUNCTION, описание которой занимает несколько строк программы. Формат при этом следующий:

Здесь ИМЯ – имя функции, А – аргумент, В – буква, определяющая тип функции, и следующее за ней число, обозначающее количество заданных пар координат функции – значений аргумента и функции.

Типы функций могут быть следующие:

С – непрерывная, D – дискретная, L – табличная, Е – дискретная атрибутивная, М – табличная атрибутивная. Рассмотрим первые две.

Дискретная числовая функция. Функция типа D задается парами координат. Для всех значений аргумента X(I-1)<X<=X(I) функция равна Y(I) (значение функции в правом конце интервала). При X<X(1) Y=Y(1), а при X>X(N) Y=Y(N). Пример:

KOEF FUNCTION Q$OBRAB, D5

Аргументом функции является длина очереди с именем OBRAB. Если значение аргумента больше 5 и меньше или равно 10, то значение функции KOEF равно 8. Если дина очереди в момент вычисления функции равна 20, СЧА FN$KOEF возвращает значение 100.

Значениями функции могут быть не только целые или вещественные числа, но и символьные имена:

SWITH FUNCTION P$ADRES, D6

2, ADR1/4,ADR2/6,ADR3/8,ADR4/10,ADR5/12,ADR6