NNN function rn3,d5

.12,3/.3,7/.55,13/.87,21/1,33

Функція має назву NNN. Випадкова величина може мати п'ять різних значень. Сумарні частоти і відповідні їм п'ять значень функції записано як п'ять пар чисел. Зазначимо, що пари чисел, які визначають координати Х і Y точки не тільки дискретної, але і функції будь-якого типу, мають відповідати правилам, вказаним у розділі 4.4.11.

Розглянемо інші випадки застосування функцій у моделях.

Як відомо, блок TRANSFER має такі режими роботи, як вибірковий (PICK) і функціональний (FN). У режимі PICK вибір блоку, до якого прямує активний транзакт, проводиться випадково. Блоки повинні бути розташовані один за одним і переходи до кожного з них рівноймовірні. У режимі FN блоки розташовані не один за одним і вибір кожного з них не рівно ймовірний. В цьому випадку слід використовувати функцію і блок TRANSFER в режимі FN. У моделі для режиму FN це виглядатиме так:

FFF FUNCTION RN15,D5

Met1/0.45,Met2/0.65,Met3/0.82,Met4/1,Met5

GENERATE (Exponential(215,0,10))

TRANSFER FN,FFF

...

Met1...

Met2...

Met3...

Met4...

Met5...

Блок GENERATE генерує транзакти. При вході транзакта в блок TRANSFER обчислюється функція FFF з аргументом RN15. У даному прик­ладі значеннями функції є мітки блоків. Відповідно до вибраної мітки і про­водиться безумовний перехід активного транзакта до блоку, поміченого цією міткою.

Функцію типу D можна використовувати в блоці GENERATE для генерування транзактів з дискретними довільними інтервалами. Наприклад:

MMM FUNCTION RN215,D4

.2,5.1/.48,8.3/.85,9.1/1,6.4

GENERATE FN$MMM

TERMINATE 1

Блок GENERATE генерує транзакти з інтервалами 5.1, 8.3, 9.1 і 6.4. Вірогідність їх появи складає 0.2, 0.28, 0.37 і 0,15. У цьому можна перекона­тися на приведеному прикладі, задаючи в команді START операнд А рівним 1, 2, 3, 4 і аналізуючи час завершення моделювання.

Так само функцію типу D можна застосовувати в блоці ADVANCE.

Часто необхідно блоком організувати на одному і тому ж ОКП або БКП обслуговування вимог з різними часовими характеристиками. В цьому випадку як аргумент функції можна використовувати який-небудь параметр транзакта. Наприклад:

AAA FUNCTION P1,D4

1,5.32/2,4.63/3,5.49/4,4.86

GENERATE FN$NNN

TERMINATE 1

ADVANCE FN$AAA

При вході активного транзакта в блок ADVANCE обчислюється функція з назвою AAA, аргументом якої є параметр Р1. Отриманий результат і використовується як час затримування.

Генерування випадкових чисел для неперервного рівномірного розподілу

Для отримання випадкових чисел з неперервним рівномірним розподілом використовується функція типу С. У списку даних функції X і Y (див. п. 4.4.11) повинні бути типу integer або real. Наприклад:

SSN FUNCTION RN23.C5

.1,14.2/.35,30.4/.6,50/.85,64.7/1,80

Оскільки функція визначена як неперервна, то виконується лінійна інтерполяція для пари точок Хj і Хj+ 1, що знаходяться по краях того інтервалу значень вірогідності, в який потрапило згенероване випадкове число X, що є аргументом. Інтерполяція проводиться відповідно до виразу

(8.1)

де т – число точок функції.

Нехай в приведеному вище прикладі отримали RN23 = 0.43. Це число потрапляє у інтервал (0.35; 0.6). Неперервна функція обчислюється за наведеною формулою (8.1) інтерполяції

Наведемо ще один приклад:

AAN FUNCTION V$Knc,C3

3.1,17.6/4.8,25.2/7.9,33.5

Арифметична змінна із назвою Knc використовується як аргумент функції. Коли функція викликається, спочатку обчислюється ця змінна. Якщо значення аргументу виходить за межі області визначення функції, тобто менше 3.1 і більше 7.9, то функції присвоюються значення в найближчих граничних точках: 17.6 і 33.5 відповідно. Якщо аргумент попадає в область визначення функції, то виконується лінійна інтерполяція за формулою (8.1).

З огляду на те, що неперервна функція задається за допомогою лінійної інтерполяції, для всіх точок на одному інтервалі значень сумарної частоти існує однакова ймовірність їх використання. Це робить процедуру генерування випадкової величини з рівномірним неперервним розподілом надзвичайно простою.


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



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