Помощь в написании студенческих работ
Антистрессовый сервис

Моделирование датчиков случайных чисел с заданным законом распределения

Лабораторная работаПомощь в написанииУзнать стоимостьмоей работы

Тогда равномерно-распределенные случайные числа будут представлять собой независимые реализации случайной величины ж, которые можно получить с помощью стандартной функции RND (ж) — программно реализованной на ПЭВМ в виде генератора случайных чисел с равномерным законом распределения в интервале. Требуется получить последовательность y1, y2,.yn независимых реализаций случайной величины з… Читать ещё >

Моделирование датчиков случайных чисел с заданным законом распределения (реферат, курсовая, диплом, контрольная)

Министерство Образования Республики Таджикистан Таджикский Технический Университет имени М. С. Осими Кафедра «АСОИиУ»

Лабораторная работа № 1

На тему: Моделирование датчиков случайных чисел с заданным законом распределения Выполнила:

ст-т. 3-го курса гр. 2202 Б2

Принял: преподаватель кафедры Ли И.Р.

Душанбе-2010

Лабораторная работа № 2

Моделирование датчиков случайных чисел с заданным законом распределения

I Цель работы

Целью работы является:

1. Практическое освоение методов моделирования случайных чисел с заданным законом распределения

2. Разработка и моделирование на ПЭВМ датчика случайных чисел с конкретным законом распределения

3. Проверка адекватности полученного датчика

II Теоретические сведения

1. Основные методы моделирования случайных последовательностей с заданным законом распределения

При исследовании и моделировании различных сложных систем в условиях действия помех возникает необходимость в использовании датчиков случайных чисел с заданным законом распределения. Исходным материалом для этого является последовательность x1,x2…xn с равномерным законом распределения в интервале [0,1]. Обозначим случайную величину, распределенную равномерно через ж (кси).

Тогда равномерно-распределенные случайные числа будут представлять собой независимые реализации случайной величины ж, которые можно получить с помощью стандартной функции RND (ж) — программно реализованной на ПЭВМ в виде генератора случайных чисел с равномерным законом распределения в интервале [0,1]. Требуется получить последовательность y1,y2,.yn независимых реализаций случайной величины з, распределенных по заданному закону распределения. При этом закон распределения непрерывной случайной величины может быть задан интегральной функцией распределения:

F(y)= P(ksiy) (1)

или плотностью вероятности

f(y)=F'(y) (2)

Функции f(y) и F(y) могут быть заданы графически или аналитически.

Для получения случайной величины з с функцией распределения F(y) из случайной величины ж, равномерно-распределенной в интервале [0,1], используются различные методы. К основным методам моделирования случайных чисел с заданным законом распределения относятся:

— метод обратной функции

— метод отбора или исключения

— метод композиции.

2. Метод обратной функции

Если жравномерно-распределенная на интервале [0,1] случайная величина, то искомая случайная величина может быть получена с помощью преобразования:

з=F-1 (ж) (3)

Где F-1 (ж) - обратная функция по отношению к функции распределения F(ж)

F(y)

ж

0 з y

Рис 1 Функция распределения F(ж)

Действительно, при таком определении случайной величины з имеем:

P(зy)=P{F-1(ж)y}=P{ ж F(y) }= F(y) (4)

В данной цепочке равенств первое равенство следует из (3), второе из неубывающего характера функций F(ж) и F-1 (ж) и третье из равномерного в интервале [0,1] распределения величин ж.

Таким образом, если задана функция распределения F(y), то для получения случайной последовательности с таким распределением необходимо найти ее обратную функцию.

Для нахождения обратной функции можно использовать два метода: аналитический и графический.

3.Метод отбора или исключения

Данный метод удобнее использовать, если требуемый закон распределения задан плотностью вероятности f(y). В отличии от метода обратной функции метод отбора или исключения для получения одного требуемого случайного числа требует не одного равномернораспределенного случайного числа, а двух, четырех, шести или более случайных чисел. В этом случае область возможных значений з представляет конечный отрезок (a,b), а плотность вероятности f(y) ограничена сверху значением fmax (Рис.7). Тогда область значений з* и ж* можно ограничить ступенчатой кривой:

0, если y

g (y)= fmax, если a y b (25)

0, если y>b

Затем берутся с помощью генератора случайных чисел (RND(ж)) два равномерно-распределенных числа ж1 и ж2, по которым определяются равномерные на интервале [a,b] независимые величины:

з '=a + (b-a)*ж1

ж'=fmax* ж2 (26)

Где a,b — границы возможных значений случайной величины з,

fmax— максимальное значение функции f(y) (Рис.7)

f (y) g (y)

fmax

f (y)

ж

a з ' b

Рис. 7 Заданная плотность вероятности

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

4. Метод композиции

Метод композиции основывается на представлении плотности вероятности fз (x) по формуле полной вероятности:

fз (x)= (27)

Где H(z)=P(жz) — интегральная функция распределения случайной величины ж;

P (x/z) — условная плотность вероятности.

Переходя к дискретной форме, интеграл заменяется на сумму и тогда получаем

fз (x)=Pj*fj (x) (28)

где Pj=1 (29)

fj (x) -условная плотность вероятности Таким образом, для любой заданной плотности вероятности ее фигура единичной площади, ограниченной осью x и кривой fз(x), разбивается на произвольное число простых не пересекающихся частей gj (i=1,k),с площадями Pj (j=1,k), (Рис.8)

Рис.8Разбивка плотности вероятности на отдельном участке

fз(x)

g1 1)

g2 2) g3 3)

x

g1 1)

x

Рис. 9 Условные плотности

вероятности

g2 2)

x

g3 3)

x

Условные плотности вероятности имеют вид (Рис.9)

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

5. Оценка закона распределения

Для полученной случайной последовательности y1, y2,…,yn с заданным законом распределения необходимо провести оценку соответствия заданного закона распределения, который реализует смоделированный датчик случайных чисел. Поэтому для последовательности y1, y2,…,yn строится статистическая функция распределения

F* (y) (Рис. 10). На этом же графике строится интегральная функция распределения F(y) для заданного закона распределения и производится сопоставление F*(y) и F(y). Согласие закона проверяется по критерию Колмогорова. Для этого вычисляется статистика:

Ди=maxF*(y) — F(y) (30)

Для конечных решений и распределения статистики Ди получены пороговые значения в форме таблиц (Таблица 1.). По этой таблице для заданных объемов последовательности и и значению статистики Ди определяется уровень значимости .

Если гипотеза верна то статистика Ди* имеет в пределе при n распределение Колмогорова и квантили уровня P= (1−2) близки к 1. Это значит, что полученный генератор случайных чисел вырабатывает последовательность с заданным законом распределения. Если значения статистики Ди не попадают в пороговые значения, то такой генератор не годится для пользования.

F(y)

F(y) 1

F*(y)

0.5 Dn {

y

y1 y2 y3 y4 yn-1 yn

Рис.10Оценка распределения

III Содержание исследования

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

1.По двадцати числам (n=20) выведенным на печать построить статистическую функцию распределения F*(y)(рис.10) На этом же графике построить интегральную функцию распределения F(y) для заданного преподавателем закона распределения. Сопоставив значения F*(yF(y), вычислить статистику Ди (30).

2. Составить блоксхему и программу для ПЭВМ, в которой следует предусмотреть построение статистического ряда и вычисление статистики Ди по критерию Колмогорова.

3.По таблице пороговых значений статистики Ди произвести оценку распределения.

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

Блоксхема генератора

Интерфейс программы:

Листинг программы:

Private Sub Command1_Click ()

Dim n As Integer

Dim p1, p2 As Integer

Dim Y () As Variant, X As Double

p1 = 0: p2 = 0: m = 0: d = 0

List1.Clear

Randomize

X = 0.5

n = Val (Text1.Text)

ReDim Y (n) As Variant

For i = 1 To n

X = Rnd (X)

List1.AddItem («x (» + Str (i) + «)=» + Str (X))

If X < 0.7 Then

p1 = p1 + 1

Y (i) = 2

m = m + Y (i)

List1.AddItem («y (» + Str (i) + «)=» + Str (Y (i)))

Else

p2 = p2 + 1

Y (i) = 10 * X — 5

m = m + Y (i)

List1.AddItem («y (» + Str (i) + «)=» + Str (Y (i)))

End If

Next i

List1.AddItem («кол. точек с вер-ю 0.7: p1=» + Str (p1))

List1.AddItem («кол. точек с вер-ю 0.3: p2=» + Str (p2))

List1.AddItem («ВЕРОЯТНОСТИ:»)

List1.AddItem («0.4<=x<0.7 —- 0» + Str (p1 / n))

List1.AddItem («0.7<=x<=1 —- 0» + Str (p2 / n))

m = m / n

List1.AddItem («мат ожидание = «+ Str (m))

For i = 1 To n

d = d + (Y (i) — m) ^ 2

Next i

d = d / (n — 1)

b = Sqr (d)

List1.AddItem («диссперсия = «+ Str (d))

List1.AddItem («сререднекв откл = «+ Str (b))

'построение интегральной функции

Picture1.Scale (-2, 11)-(11, -2)

Picture1.Line (0, -2)-(0, 11)

Picture1.Line (-2, 0)-(11, 0)

Picture1.PSet (-1, 11)

Picture1.Print («f (x)»)

Picture1.PSet (10.5, -0.3)

Picture1.Print («x»)

Picture1.PSet (-0.7, 4)

Picture1.Print («0.4»)

Picture1.PSet (-0.7, 7)

Picture1.Print («0.7»)

Picture1.PSet (-0.7, 10)

Picture1.Print («1»)

Picture1.PSet (2, -0.3)

Picture1.Print («2»)

Picture1.PSet (5, -0.3)

Picture1.Print («5»)

For i = 0 To 11 Step 0.001

If i < 2 Then

l = 4

Else

If i < 5 Then

l = (0.1 * i + 0.5) * 10

Else

l = 10

End If

End If

Picture1.PSet (i, l)

Next i

Picture1.Line (2, 4)-(2, 7)

'построение обратной функции

Picture2.Scale (-2, 11)-(11, -2)

Picture2.Line (0, -2)-(0, 11)

Picture2.Line (-2, 0)-(11, 0)

Picture2.PSet (-1, 11)

Picture2.Print («x»)

Picture2.PSet (10.5, -0.3)

Picture2.Print («f (x)»)

Picture2.PSet (-0.7, 2)

Picture2.Print («2»)

Picture2.PSet (-0.7, 5)

Picture2.Print («5»)

Picture2.PSet (4, -0.3)

Picture2.Print («0.4»)

Picture2.PSet (7, -0.3)

Picture2.Print («0.7»)

Picture2.PSet (10, -0.3)

Picture2.Print («1»)

For i = 4 To 10 Step 0.001

If i < 7 Then

l = 2

Else

l = i — 5

End If

Picture2.PSet (i, l), vbRed

Next i

Picture2.Line (4, 0)-(4, 2), vbRed

Picture2.Line (10, 5)-(10, 11), vbRed

End Sub

Показать весь текст
Заполнить форму текущей работой