Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Книги / MODELIROVANIE_SISTEM_12.docx
Скачиваний:
240
Добавлен:
17.06.2016
Размер:
3.17 Mб
Скачать

321236246263321315464215224214664122142366236246611664533544.

Здесь цифры 1,2,3,4,5,6 выпали соответственно 9,14,9,11,4 и 13 раз, т.е. в процентах это составило 15%, 23%, 15%, 18%, 7% и 22%.

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

В качестве примера построим генератор пуассоновской с.в. Пуассоновская с.в. может принимать значения {0, 1, ... , K, ...}, вероятности которых определяются по формуле

, (8.3)

где a - параметр распределения, a > 0.

Убедимся, что сумма вероятностей исходов равна единице:

Разобьем мысленно интервал (0,1) на бесконечное число отрезков длиной p0 , p1 , ... , p, ... . Согласно рис. 8.1 мы должны обратиться к датчику БСВ и для полученного значения z найти отрезок, в который оно попало. Проверить для первого отрезка условие z (p0) можно с помощью неравенства z  Г0, где Г0 - правая граница интервала (p0), т.е. Г0= p0 . Если после отрезка (p) нужно проверять отрезок (), то для этого используем неравенство, где- правая граница отрезка () - получается по формуле. Вычислениебудем выполнять не непосредственно по (8.3), а по соответствующему рекуррентному выражению

чтобы не считать факториалов и степеней.

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

Переменные Г и P, изменяющиеся при повторении цикла, соответствуют величинам и. Полученный алгоритм имеет достаточно компактный вид. Что касается быстродействия алгоритма, то его можно охарактеризовать числом N повторений цикла. Очевидно, что N = d + 1, где d - вычисленное случайное значение пуассоновской с.в. Поскольку M(d) = a, то среднее число повторений цикла составляет

M(N) = M(d + 1) = a + 1.

Нетрудно определить и дисперсию D(N):

D(N) = D(d + 1) = D(d) = a.

Рис.8.2. Схема генератора пуассоновской с.в.

На рис. 8.3. приведена частотная гистограмма для 100 000 реализаций пуассоновской с.в., полученных с помощью описанного генератора.

Рис. 8.3. Пуассоновская с.в. при а=3..5

8.3. Моделирование непрерывных с.в. методом обращения

Пусть требуется реализовать непрерывную с.в. x, которая имела бы заданную функцию распределения вероятностей (ф.р.в.) F(t) = P { x t}, т.е. требуется, чтобы было x ~ F(t). Согласно методу обращения это можно сделать с помощью БСВ z по следующей формуле:

x = F-1 (z).

Примечание. Выражение x = F-1 (z) для расчета x через z можно получить следующим известным способом:

(1). Записать формальное уравнение F(x) = z.

(2). Разрешить его относительно x.

8.3.1. Моделирование экспоненциальной с.В.

Экспоненциальная с.в. x имеет ф.р.в.

F(t) = 1 – e-t ,

где t0 и параметр  > 0 . Для экспоненциальной с.в. x

M(x) = 1 /  , D(x) = 1 / 2.

Для построения генератора такой с.в. используем метод обращения.

  1. . Записываем формальное уравнение F(x) = z:

1 – e-t = z.

  1. . Решаем его относительно x:

x = - (1/) ln(1-z). (8.4)

Формулу (8.4) можно упростить, заменив 1 - z на z, т.к. обе эти величины совпадают по распределению. Тогда из (8.4) получаем:

x = - (1 / ) ln(z). (8.5)

Рис. 8. 4. Частотная гистограмма

экспоненциальной с.в. (м.о. = 1) при n = 10000

При независимых z генератор (8.5) дает независимые значения экспоненциальной с.в. x. На рис. 8.4 приводится частотная гистограмма, полученная при испытании этого генератора для  = 1 . Оценки моментов составили = 0.990,= 0.978.

8.4. Линейные преобразования с.в.

Пусть x - с.в. и

y = Ax + B, (8.6)

где A, B - константы; A - коэффициент, B - смещение. Преобразование с.в. x вида (8.6) называется линейным.

Многие непрерывные с.в. в результате линейного преобразования не меняют вид распределения (меняются только его параметры). К таким относятся экспоненциальной или эрланговской с.в. вид распределения сохраняется только при масштабном преобразовании, т.е. когда смещение B = 0.

Очевидно, при линейном преобразовании (8.6) имеет место:

M(y) = AM(x) + B,

D(y) = A D(x).

Линейное преобразование (8.6) часто применяется для того, чтобы при наличии генератора непрерывной с.в. x получить другую с.в. y с тем же распределением, но с другими значениями м.о. и дисперсии.