Advance 68. 5,22. 5

У даному прикладі вхідний транзакт затримується на час, рівномірно розподілений в інтервалі від 46 до 91.

Для задавання часу затримування за іншим законом, відмінним від рівномірного, в операнді В записується модифікатор-функція. Для звертання до функції визначається деяке число – значення функції. Це значення множиться на значення операнда А. Результат використовується як час затримування. Наприклад:

ADVANCE Frejm,FN$Krok

У прикладі обчислюється значення функції з назвою Krok і множиться на значення змінної користувача Frejm якій попередньо повинне бути присвоєне числове значення командою EQU.

Якщо задано тільки операнд А, він обчислюється й використовується як час затримування. Наприклад:

ADVANCE (Normal(35,X$Znach,X$VidZn))

Час затримування заданий процедурою мови PLUS і розподілений за нормальним законом. Середнє значення і середньоквадратичне відхилення, попередньо записані командою INITIAL у комірках збереження, з назвами Znach і VidZn відповідно. Для генератора нормального розподілу джерелом випадкових чисел, рівномірно розподілених в інтервалі [0,1], є генератор номер 35 (RN35).

ADVANCE (Exponential(33,20,50))

У цьому прикладі час затримування є випадковою величиною, розподіленою за експоненціальним законом (із вбудованої бібліотеки процедур мови PLUS) із середнім значенням 50; номер вбудованого генератора рівномірно розподілених випадкових чисел дорівнює 33, а зміщення – 20, тобто випадкова величина приймає значення, починаючи з 20.

Як зазначалося раніше, у блоці GENERATE можна використовувати функції й арифметичні змінні, попередньо визначені командами FUNCTION, VARIABLE або FVARIABLE. Але в цих командах не повинно бути посилань на параметри транзактів, тому що транзактів ще немає. В операндах блоку ADVANCE посилання на параметри транзактів можливі. Але тоді цим параметрам повинні бути попередньо присвоєні відповідні значення. Наприклад:


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



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