Арифметические, условные и логические операторы.



Они служат для указания операций над элементами выражения. В GPSS используются следующие операторы: +, -, # (алгебраическое умножение), /, ^, \ (целочисленное деление, X\Y – есть целая часть от деления Х на,Y 11.2\(-3.3)=-4),@ - деление по модулю (X@Y – остаток от деления целого X на целое Y, 15@6=3).

Логические операторы:

= (‘E’) – равно. (X’E’Y равно 1 если X=Y, иначе 0.

!= (‘NE’) – не равно (X’NE’Y выражение равно 1 если X не равно Y, иначе 0.

< (‘L’) – меньше (X’L’Y

> (‘G’) – больше (X’G’Y

<= (‘LE’) – меньше или равно (X’LE’Y

>= (‘GE’) – больше или равно (X'GE'Y

& (‘AND’) – (X’AND’Y) выражение равно 1, если X и Y не 0.

| (‘OR’) – (X’OR’Y) рано 1 если X или Y или оба не 0.

Операции выполняются в следующей последовательности – в порядке убывания приоритетов.

^

#, /, \

@

+, -

>=, <=, >, <

=, !=

&

|

Если нужно изменить порядок вычисления выражений, то необходимо использовать скобки.

 

Переменные пользователя.

В выражениях могут использоваться переменные, которые пользователь определил с помощью команды EQU для хранения числовых и строковых данных, необходимых, при моделировании.

Формат команды: nameEQUA, где name - имя переменной или объекта, которому присваивается значение выражения А.

Заметим, что с помощью переменных пользователя имена объектов GPSS можно заменять номерами.

Встроенная библиотека GPSS содержит девять математических функций. Во всех случаях аргументами функций являются выражения, а значениями – действительные числа. Приведём список функций:

ABS (X) – абсолютное значение Х.

ATN (Х) – арктангенс Х, в радианах.

COS (X) – косинус выражения Х, измеряемого в радианах.

EXP (X) – экспонента Х.

INT (X) – целая часть Х.

LOG (Х) – натуральный логарифм Х.

SIN (X) – синус выражения Х, измеряемого в радианах.

SQR (X) – корень квадратный из Х.

TAN (X) – тангенс Х, измеряемого в радианах.

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

В GPSS имеются датчики случайных чисел, генерирующие последовательности равномерно-распределённых случайных целых чисел от 0 до 999. Для обращения к ним используется СЧА RNj, где j– начальное число генератора случайных чисел, совпадающее с его номером до тех пор, пока команда RMULT не изменит начальное число, (j = 1,2,…,7).

При использовании СЧА RNj при вычислении случайных функций RNj возвращает случайное число из интервала (0, 0,999999).

 

Встроенные вероятностные распределения.

В библиотеку включены 24 процедуры вероятностных распределений. Эти распределения применимы во многих приложениях. Все аргументы процедур должны быть выражениями, после вычисления аргументы преобразуются к соответствующему виду. Мы остановимся только на 4х распределениях.

Дискретно-равномерное распределение.

Обращение: DUNIFORM(A,B,C), где А – номер генератора случайных чисел (от 1 до 7), В и С соответственно минимальное и максимальное генерируемые значения.

Возвращаемые значения: равномерно-распределённое случайное целое число из отрезка ВС.

DUNIORM(2,17,33) в рез-те обращения получим равномерно распределенное целое число в отрезке 17=33.

Экспоненциальное распределение.

EXPONENTIAL(A,B,C), здесь А – номер генератора случайных чисел, В – величина сдвига, определяющего местоположение распределения, С – величина, используемая, для сжатия или растяжения распределения.

Применительно к случайной величине Т – времени между двумя соседними событиями, в простейшем потоке, плотность распределения вероятностей которой:

В=0, С=1/ , возвращаемые значения: одна реализация случайной величины, распределённой по экспоненциальному закону.

SAVEVALUE 5, (EXPONENTIAL(7,0,.33))

Нормальное распределение

NORMAL(A,B,C), здесь А – номер генератора случайных чисел, В – математическое ожидание (или среднее значение), С – среднее квадратическое отклонение распределения. Возвращаемое значение – одна реализация нормально распределённой СВ.

Равномерное распределение.

Обращение: UNIFORM(A,B,C) - здесь А – номер генератора случайных чисел, В и С, соответственно, минимальное и максимальное генерируемые значения. Возвращаемое значение: равномерно распределённое случайное число из отрезка ВС.

Функции в GPSS

Функция в GPSS задается таблицей. Каждая функция перед началом моделирования определяется командой: FUNCTION, имеющей следующий формат:

nameFUNCTIONA,B – здесьname – имя функции, используемое для ссылок на неё, А - аргумент функции, который может быть именем, положительным целым числом, строкой, выражением в скобках СЧА, В – операнд, состоящий из одной буквы, определяющей тип функции и целого положительного числа n, задающего количество пар (Xi, Yi) возможных значений аргумента и функции. Список пар данных определяющих таблицу располагается в строках, следующих за командой FUNCTION. Все строки начинаются с первой позиции и имеют вид:

X1,Y1/X2,Y2/…/Xn,Yn - Если все пары данных располагаются в одной строке

X1,Y1/X2,Y2/…/Xj,Yj

Xj+1,Yj+1/Xj+2,Yj+2/…/ Xk,Yk+1

………                                                                   - Если пары данных располагаются в нескольких строках

Xl+1,Yl+1/Xl+2,Yl+2/…/ Xn,Yn

Во всех случаях X1<X2<…<Xn.

В GPSS имеется пять типов функций. Мы остановимся только на двух: непрерывная (C) и дискретная (D).

AbcFUNCTIONRN1, C15 (название функции Авс, аргументом являются случайно распред. числа, на интервале 0,1, 15 пар, функция непрерына)

y
В списке данных непрерыной функции все X и Y должны быть действительными числами. Непрерывная функция имеет вид ломаной, составленной из отрезков, которые соединяют соседние точки. Её вычисления производится следующим образом: сначала определяется интервал: (Xi, Xi+1), на котором находится значение аргумента Х, затем, на этом интервале выполняется линейная интерполяция с использованием соответствующих значений Yiи Yi+1 по формуле:

Дискретная функция имеет вид ступенчатой кривой. В списке данных Х – должны быть выражением, а значения Y – действительным числом или именем. При вычислении функций типа D, текущее значение аргумента сравнивается по условие « » последовательно со всеми значениями упорядоченных по возрастанию координат  до выполнения некоторого условия при некотором i. Значением функции становится соответствующее значение .

Func1 FUNCTIONRN1,D4 (ДСЧ, генерирует значения от 0 до 1, таблица данных состоит из 4х точек)

.15,1/.35,2/.8б10/1.0,14

С функциями связан единственный СЧА:

FNj (FN$name) – результат вычисления функции с номером j( с именем name).


Дата добавления: 2019-02-12; просмотров: 146; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!