Прил 2_Моделирование случайных чисел и событий в Excel. Приложение Моделирование случайных чисел исобытий в Excel
Скачать 4.37 Mb.
|
Приложение 2. Моделирование случайных чисел и событий в Excel Моделирование случайных чисел в Excel может быть выполнено двумя способами: с помощью встроенных функций и путем использовании инструмента «Генератор случайных чисел» дополнения «Анализ данных». Ниже будут рассмотрены способы моделирования случайных чисел и событий с использованием встроенных функций. Моделирование простого события Рассмотрим механизм моделирования простого события. Пусть имеется событие A , вероятность наступления которого равна A P . Выберем с помощью датчика случайных чисел, равномерно распределенных в интервале (0,1) некоторое число z . Известно, что вероятность попадания в интервал (0, A P ) случайной величины z равна величине A P . Поэтому если при розыгрыше число z попало в этот интервал, то следует считать, что событие A произошло. Противоположное событие (не A ) произойдет с вероятностью (1 – A P ) в том случае, если A z P � Процедура моделирования простого события в имитационной модели описывается алгоритмом, схема которого показана на рис. 1 [23]. Оператор 1 обращается к датчику случайных чисел, генерирующему случайную величину z Оператор 2 проверяет условие A z P < . Если оно выполняется, считается, что произошло событие A . В противном случае считается, что произошло противопо- ложное событие (не A ). Рис.1 – Моделирование простого события В Excel данную операцию можно реализовать с помощью функции ЕСЛИ. Пусть в ячейке А1 указана вероятность A P события, тогда моделирование его наступления будет выглядеть следующим образом ЕСЛИ(СЛЧИС() Пусть имеется полная группа несовместных событий 1 2 , ,..., k A A A с вероятностями 1 2 , ,..., k P P P . При этом выполняется условие 1 1 k i i P = = � Процедура моделирования полной группы несовместных событий описывается алгоритмом, схема которого показана на рис. 2. Здесь i L - кумулятивная вероятность 1 2 i i L P P P = + + + Нет Да 4 3 2 1 ДСЧ(z) A z P < Событие “А” Событие “не А” Рис. 2 – Алгоритм моделирования полной группы несовместных событий Оператор 1 обращается к датчику случайных чисел с равномерным распределением в интервале (0,1). Условный оператор 1 проверяет условие попадания случайной величины z в интервал (0, 1 L ). Если это условие выполняется, то считается, что произошло событие 1 A . Если условие в операторе 2 не выполняется, то алгоритм осуществляет проверку условий попадания случайной величины в другие интервалы. Одно из событий 1 2 , ,..., k A A A обя- зательно произойдет. Рассмотрим выполнение данных операций в Excel. Запишем в ячейки С2:С4 значения вероятностей 1 2 3 , , P P P событий 1 2 3 , , A A A (рис.3). В ячейке С5 смоделируем случайную величину, распределенную равномерно на интервале (0,1). Тогда определение произошедшего события будет выглядеть следующим образом С6=ЕСЛИ(C5 Нет Нет Да Да Да 8 7 6 5 4 3 2 1 ДСЧ(z) 1 Z L < 2 Z L < 1 k Z L - < 1 A 2 A 1 k A - k A Рис. 3 – Моделирование полной группы несовместных событий Моделирование дискретной случайной величины Дискретная случайная величина может быть задана табличной зависимостью: X 1 x 2 x n x P 1 p 2 p n p Здесь j p – вероятность того, что дискретная случайная величина X примет значение j x . При этом 1 2 1 n p p p + + + = . Разделим интервал (0,1) на n отрезков, длины которых равны заданным вероятностям. Если случайное число z , вырабатываемое датчиком случайных чисел, равномерно распределенных в интервале (0,1), попадет в интервал k p , то случайная величина X примет значение k x . Таким образом, при моделировании дискретных случайных величин фактически используется та же процедура, что и при моделировании полной группы несовместных событий. Моделирование непрерывной случайной величины Приведем способы моделирования непрерывных случайных чисел (на рис. 4 показаны формы распределения вероятностей) [23-24]. 1. Показательное распределение 1 ln( ) x z l = - , где x - случайная величина, распределенная по показательному закону; l - интенсивность потока (среднее значение 1 m l = ); z - случайная величина, равномерно распределенная на интервале (0,1). В Excel данное вычисление выглядит следующим образом (пусть в ячейке А1 дано среднее значение, а в А2 - результат) А2=-А1*LN(СЛЧИС()). 2. Равномерное распределение на интервале ( , a b ) ( ) x a z b a = + - , ( 0,5) cp x x x z = + D - , где x - случайная величина, распределенная по равномерному закону; a и b - нижняя и верхняя границы интервала ( , a b ) соответственно; ср x - среднее значение интервала ( , a b ); x D - величина интервала ( , a b ); z - случайная величина, равномерно распределенная на интервале (0,1). В Excel это реализуется посредством формулы (пусть в ячейке А1 дана нижняя граница; в ячейке А2 – верхняя граница, а в А3 - результат) А3=А1+СЛЧИС()*(А2-А1) 3. Нормальное распределение Процедура розыгрыша нормально распределенной случайной величины заключается в следующем. Сложим 12 случайных величин i z с равномерным распределением в интервале (0,1), т. е. составим сумму 12 1 i i v z = = � Нормируем и центрируем случайную величину v , т. е. перейдем к величине 6 v h = - От нормированной и центрированной величины h перейдем к случайной величине y , распределенной по нормальному закону, с заданными параметрами ( ) M y и ( ) y s по формуле ( ) ( ) y M y y s h = + � , где ( ) M y – известное математическое ожидание случайной величины y ; ( ) y s – известное среднее квадратическое отклонение случайной величины y Для реализации данного генератора в Excel нужно выполнить следующий расчет (в ячейке А1 дано среднее значение, А2 – среднее квадратическое отклонение, а в А3 - результат) А3=А1+А2*((СЛЧИС()+СЛЧИС()+СЛЧИС()+СЛЧИС()+СЛЧИС()+СЛЧИС() +СЛЧИС()+СЛЧИС()+СЛЧИС()+СЛЧИС()+СЛЧИС()+СЛЧИС())-6)). Рис. 4 – Графики законов распределения |