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

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

Міністерство Освіти Республіки Таджикистан

Таджицький Технічний Університет

імені М.С. Осімі

Кафедра «АСОІ»

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

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

Виконала:

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

Прийняв: викладач кафедри

Лі І.Р.

Душанбе-2010

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

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

I Мета роботи

Метою роботи є:

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

  2. Розробка і моделювання на ПЕОМ датчика випадкових чисел з конкретним законом розподілу

  3. Перевірка адекватності отриманого датчика

II Теоретичні відомості

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

При дослідженні та моделюванні різних складних систем в умовах дії перешкод виникає необхідність у використанні датчиків випадкових чисел із заданим законом розподілу. Вихідним матеріалом для цього є послідовність x 1, x 2 .... Xn з рівномірним законом розподілу в інтервалі [0,1]. Позначимо випадкову величину, розподілену рівномірно через ζ (ксі).

Тоді рівномірно-розподілені випадкові числа будуть представляти собою незалежні реалізації випадкової величини ζ, які можна отримати за допомогою стандартної функції RND (Ζ) - програмно реалізованої на ПЕОМ у вигляді генератора випадкових чисел з рівномірним законом розподілу в інтервалі [0,1]. Потрібно забрати послідовність y 1, y 2, .. yn незалежних реалізацій випадкової величини η, розподілених по заданому закону розподілу. При цьому закон розподілу неперервної випадкової величини може бути заданий інтегральної функцією розподілу:

F (y) = P (ksi y) (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)

1

ζ


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 <a

g (y) = fmax, якщо a y b (25)

0, якщо y> b

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

η '= A + (ba) * ζ 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) = P j * f j (x) (28)

де P j = 1 (29)

f j (X)-умовна щільність ймовірності

Таким чином, для будь-якої заданої щільності ймовірності її фігура одиничної площі, обмеженої віссю x і кривою f η (x), розбивається на довільне число простих не пересічних частин g j (i = 1, k), з площами P j (j = 1 , k), (Рис.8)

Ріс.8Разбівка щільності ймовірності на окремій ділянці

f η (x)


g 11)

g 22) g 33)

x


g 11)

x

Рис. 9 Умовні щільності

ймовірності


g 22)


x


g 33)



x

Умовні щільності ймовірності мають вигляд (Рис.9)

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

5. Оцінка закону розподілу

Для отриманої випадкової послідовності y 1, y 2, ..., y n із заданим законом розподілу необхідно провести оцінку відповідності заданого закону розподілу, який реалізує змодельований датчик випадкових чисел. Тому для послідовності y 1, y 2, ..., y n будується статистична функція розподілу

F * (y) (Мал. 10). На цьому ж графіку будується інтегральна функція розподілу F (y) для заданого закону розподілу і виробляється зіставлення F * (y) і F (y). Згода закону перевіряється за критерієм Колмогорова. Для цього обчислюється статистика:

Ді = max F * (y) - F (y) (30)

Для кінцевих рішень і розподілу статистики Ді отримані порогові значення у формі таблиць (Таблиця 1.). З цієї таблиці для заданих обсягів послідовності і і значенням статистики Ді визначається рівень значимості .

Якщо гіпотеза вірна то статистика Ді * має в межі при n розподіл Колмогорова і квантів рівня P = (1-2) близькі до 1. Це означає, що отриманий генератор випадкових чисел виробляє послідовність із заданим законом розподілу. Якщо значення статистики Ді не потрапляють в порогові значення, то такий генератор не годиться для користування.

F (y)


F (y) 1

F * (y)


0.5 D n {


y

y 1 y 2 y 3 y 4 ... .... y n-1 y n

Ріс.10Оценка розподілу

III Зміст дослідження

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

1. За двадцяти числах (n = 20) виведеним на друк побудувати статистичну функцію розподілу F * (y) (рис.10) На цьому ж графіку побудувати інтегральну функцію розподілу F (y) для заданого викладачем закону розподілу. Зіставивши значення F * (y) і F (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))

'Побудова інтегральної функції

Picture 1. 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

Додати в блог або на сайт

Цей текст може містити помилки.

Програмування, комп'ютери, інформатика і кібернетика | Лабораторна робота
55.3кб. | скачати


Схожі роботи:
Закономірність розподілу простих чисел в ряду натуральних чисел
Генератор випадкових чисел
Генератор випадкових чисел
Закони розподілу випадкових процесів
Закони розподілу випадкових величин Довірчий інтервал
Моделювання надходження повідомлень від датчиків до ЕОМ
Густина розподілу імовірностей одновимірної і багатовимірної випадкових величин
Моделювання процесу надходжень до СОП повідомлень від датчиків і вимірювальних пристроїв
Суть методу Монте-Карло та моделювання випадкових величин
© Усі права захищені
написати до нас