Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Моделирование систем_МУ_Ч2 рус.doc
Скачиваний:
71
Добавлен:
03.03.2016
Размер:
1.25 Mб
Скачать

Метод генерации нормально распределенных чисел, использующий центральную предельную теорему

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

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

  1. Сложим n случайных чисел, используя стандартный ГСЧ:

Согласно ЦПТ числа образуют ряд значений, распределенный по нормальному закону. Эти числа тем лучше описывают нормальный закон, чем больше параметр. На практикеберут равными 6 или 12. Заметим, что закон распределения чиселимеет математическое ожидание,. Поэтому он является смещенным относительно заданного произвольного.

  1. С помощью формулы нормализуем этот ряд. Получим нормализованный закон нормального распределения чисел. То есть,.

  2. Формулой (сдвиг на mx и масштабирование на σx) преобразуем ряд Z в ряд x: x = z · σx + mx.

Пример. Смоделировать поток заготовок для обработки их на станке. Известно, что длина заготовки колеблется случайным образом. Средняя длина заготовки составляет 35 см, а среднеквадратичное отклонение реальной длины от средней составляет 10 см. То есть по условиям задачи mx = 35, σx = 10. Тогда значение случайной величины будет рассчитываться по формуле: V = r1 + r2 + r3 + r4 + r5 + r6, где r – лучайные числа из ГСЧрр [0; 1], n = 6. X = σx · (sqrt(12/n) · (V – n/2)) + mx = 10 · sqrt(2) · (V – 3) + 35 или X = 10 · sqrt(2) · ((r1 + r2 + r3 + r4 + r5 + r6) – 3) + 35.

Метод Мюллера

Совсем простым методом получения нормальных чисел является метод Мюллера, использующий формулы: Z = √(–2 · Ln(r1)) · cos(2π · r2), где r1 и r2 – случайные числа из ГСЧрр [0; 1].

Можно также воспользоваться аналогичной формулой Z = √(–2 · Ln(r1)) · sin(2π · r2), где r1 и r2 — случайные числа из ГСЧрр [0; 1].

Пример. Материал поступает в цех один раз в сутки по 10 штук сразу. Расход материала из цеха случайный по нормальному закону с математическим ожиданием m = 10 и среднеквадратичным отклонением σ = 3.5. Вычислить вероятность дефицита на складе при запасе материала в начальный момент времени 20 штук.

При реализации в среде моделирования Stratum решение задачи будет выглядеть следующим образом.

z := sqrt(–2 · ln(rnd)) · cos(2 · PI · rnd) x := σ · z + m запас := запас + 10 запас := (запас – x) · ed(запас – x) дефицит := дефицит + not(ed(запас – x)) N := N + 1 P := дефицит/N stop(N > k)

z – нормальное нормализованное случайное число; x – нормальное число, ежедневный расход материалов; запас – состояние склада: начало дня, моделирование прихода; запас – состояние склада: конец дня, моделирование расхода; дефицит – счетчик дней, в течение которых наблюдался дефицит; N – количество дней; P – вероятность дефицита; k – моделирование в течение k дней.

p(x) = 1/(x * normal_sigma * sqrt(2*pi)) * exp( -(log(x)-normal_mean)2 / (2*normal_sigma2) ) для x > 0, где normal_mean = log(mean2/sqrt(sigma2 + mean2)) и normal_sigma = sqrt(log(1 + sigma2/mean2)). Другими словами, "логарифмически-нормальный закон" встречается у случайных чисел, логарифм которых распределен нормально. Это распределение широко используется в теории надежности; с его помощью аппроксимируются распределения полей атмосферных и промышленных помех.

5) с логнормальным распределением:

, где ,, где– случайный процесс с равномерным распределением в диапазоне [0,1].