Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОТСіУ - CA.doc
Скачиваний:
38
Добавлен:
28.02.2016
Размер:
2.49 Mб
Скачать

Підпрограма "Моделювання вхідного потоку"

  1. Початок

  2. Вибір типу вхідного потоку:

  1. Гаус

  2. Експоненціальний (Пуассон)

  3. Ерланг

  4. Рівномірний

3. Якщо(1), то формуємо вхідний потік:

3.1 формуємо оператором RND 2 випадкові величини (ksil, ksi2).

3.2 отримуємо 2 випадкові величини(Vgaussin1, Vgaussin2) за формулою

3.3 Перевірка: яке звернення до функції (п.3.2). Якщо непарне, то йде запит двох випадкових величин п.3.2 - Vgaussinl, Vgaussin2 і видати на виході 1-е (Vgaussinl). Якщо парне, то видати 2-ге - Vgaussin2 і встановити ознаку, що наступне значення буде непарне.

4. Якщо (2), то формуємо вхідний потік випадкових чисел за розподілом Пуассона за формулою:

Vexp=-(1/lambda)*Log(l- RND())

5. Якщо (3), то формуємо вхідний потік випадкових чисел за розподілом Ерланга :

(Програма дозволяє обирати варіант формули - за проф. Соболем А. М. або за проф. Четверухіним Б.М.)

Формування потоку за методикою проф. Соболя A.M.:

5.1 Цикл від 1 до nsito (nsito- параметр Ерланга). Якщо кінець циклу, то п.5.5

5.2 Формування випадкових величин (vrand) за допомогою оператора RND

  1. Розрахунок добутку випадкових величин, які були сформовані в п.5.2

  2. Повернення до п.5.1

    1. Формування інтервалів випадкових подій за формулою:

vErlang=-( 1 /(Lambda*nsito))*Log(vrand)

Формування потоку за методикою проф. Четверухіна Б.М.:

5.6 Цикл від 1 до nsito (nsito- параметр Ерланга). Якщо кінець циклу, то п.5.9

5.7 Формування випадкових величин (vrand) за допомогою оператора RND за формулою:

vrand=Log(l-RND())

  1. Повернення до п.5.6

  2. Формування інтервалів випадкових подій за формулою:

vv=-((l/(Lambda*nsito)))*vrand)/SQR(nsito) vErlang=(vv+l/(2*Lambda*nsito))*nsito)

  1. Якщо (4), то формуємо вхідний потік випадкових чисел за рівномірним розподілом за формулою:

uniform=RND()*(B-A)+A

7. Кінець

Підпрограма "Моделювання вихідного потоку"

  1. Початок

  2. Вибір типу вихідного потоку:

(1)Гаус

(2) Експоненціальний (Пуассон)

(3)Ерланг

(4) Рівномірний

3. Якщо (1), то формуємо вихідний потік:

3.1 формуємо оператором RND 2 випадкові величини (ksi1, ksi2).

3.2 отримуємо 2 випадкові величини(Vgaussin1, Vgaussin2) за формулою

3.3 Перевірка: яке звернення до функції (п.3.2). Якщо непарне, то йде запит двох випадкових величин п.3.2 - Vgaussinl, Vgaussin2 і видати на виході 1-е (Vgaussinl). Якщо парне, то видати 2-ге - Vgaussin2 і встановити ознаку, що наступне значення буде непарне.

4. Якщо (2), то формуємо вихідний потік випадкових чисел за розподілом Пуассона за формулою:

Vexp=-(1/lambda)*Log(l- RND())

5. Якщо (3), то формуємо вихідний потік випадкових чисел за розподілом Ерланга за формулою:

(Програма дозволяє обирати варіант формули - за проф. Соболем А. М. та за проф. Четверухіним Б.М.)

за проф. Соболем A.M.:

5.1 Цикл від 1 до nsito (nsito- параметр Ерланга). Якщо кінець циклу, то п.5.5

5.2 Формування випадкових величин (vrand) за допомогою оператора RND

5.3 Розрахунок добутку випадкових величин які були сформовані в п.5.2

  1. Повернення до п.5.1

  2. Формування інтервалів випадкових подій за формулою:

vErlang=-(l/(Lambda*nsito))*Log(vrand)

за проф. Четверухіним Б.М.

5.6 Цикл від 1 до nsito (nsito- параметр Ерланга). Якщо кінець циклу, то п.5.9

5.7 Формування випадкових величин (vrand) за допомогою оператора RND за формулою:

vrand=Log(l-RND())

  1. Повернення до п.5.6

  2. Формування інтервалів випадкових подій за формулою:

vv=-((l/(Lambda*nsito)))*vrand)/SQR(nsito) vErlang=(vv+l/(2*Lambda*nsito))*nsito)

6. Якщо (4), то формуємо вихідний потік випадкових чисел за рівномірним розподілом за формулою:

uniform=RND()*(B-A)+A

7. Кінець