Напротив, если вероятность Р сравнительно велика ( близка к 1), то можно считать, что расхождения между теоретическим и статистическим распределением несущественно. Поэтому гипотезу о том, что величина X2 распределена по закону F(x) можно считать правдоподобной или не противоречащей опытным данным. На практике, если Р оказывается меньше, чем 0.1, то рекомендуется проверить и по возможности повторить эксперимент. В случае, если опять появятся заметные расхождения, то следует изменить параметры исследуемого генератора случайных чисел или подобрать более подходящий для описания статистических данных закон распределения.
III. Содержание исследования
В состав исследования, проводимого в данной лабораторной работе входит:
1. Программная реализация базовой псевдослучайной последовательности, вырабатываемой генератором случайных чисел при заданных преподавателем параметрах Таблица2: n, m, q,xi(i=1,n)
2. Определение оценок математического ожидания, дисперсии, среднеквадратического отклонения и q коэффициентов корреляции K (r) для r=1,q.
3. Построение гистограммы распределения для последовательности, полученной генератором случайных чисел.
4. Вычисление отклонений по критерию X2 Пирсона
5. Проверка гипотезы о равномерном распределении чисел, полученных генератором случайных чисел.
IV. Порядок проведения работы
Проведение работы включает следующие пункты
1. Получить у преподавателя исходные данные для моделирования генератора случайных чисел n, m, q, xi
2. Разработать блок-схему алгоритма исследования (моделирующий алгоритм) в соответствии с содержанием проводимого исследования
3. Составить программу на одном из языков программирования, предусмотрев вывод на печать всех результатов вычислений и соответствующих графиков
4. Отладить программу и решить задачу на ПЭВМ
5. Оформить отчет
V. Оформление отчета
Отчет по лабораторной работе должен содержать:
· Титульный лист
· Цель работы
· Краткое изложение теоретического материала и содержание исследования
· Блок-схему алгоритма исследования
· Листинг программы
· Результаты исследования в удобной для обозрения форме
· Выводы о качестве генератора случайных чисел и его пригодность для моделирования.
Таблица1Критические точки распределения
Число степеней свободы r | Уровень значимости ά | |||||
0.01 | 0.025 | 0.05 | 0.95 | 0.975 | 0.99 | |
1 | 6.6 | 5.0 | 3.8 | 0.0039 | 0.00089 | 0.00016 |
2 | 9.2 | 7,4 | 6,0 | 0,103 | 0.051 | 0.20 |
3 | 11.3 | 9,4 | 7,8 | 0,352 | 0,216 | 0,115 |
4 | 13,3 | 11,1 | 9,5 | 0,711 | 0,484 | 0,297 |
5 | 15,1 | 12,8 | 11,1 | 0,115 | 0,831 | 0,554 |
6 | 16,8 | 14,4 | 12,6 | 0,164 | 1,24 | 0,872 |
7 | 18,5 | 16,0 | 14,1 | 0,217 | 1,69 | 1,24 |
8 | 20,1 | 17,5 | 15,5 | 2,73 | 2,18 | 1,65 |
9 | 21,7 | 19,0 | 16,9 | 3,33 | 2,70 | 2,09 |
10 | 23,2 | 20,5 | 18,3 | 3,94 | 3,21 | 2,56 |
11 | 24,7 | 21,9 | 19,7 | 4,57 | 3,82 | 3,05 |
12 | 26,2 | 23,3 | 20,0 | 5,23 | 4,40 | 3,57 |
13 | 27,7 | 24,7 | 22,4 | 5,89 | 5,01 | 4,11 |
14 | 29,1 | 26,1 | 23,7 | 6,57 | 5,63 | 4,66 |
15 | 30,6 | 27,5 | 25,0 | 7,26 | 6,26 | 5,23 |
16 | 32,0 | 28,8 | 26,3 | 7,96 | 6,91 | 5,81 |
17 | 33,4 | 30,2 | 27,6 | 8,67 | 7,56 | 6,41 |
18 | 34,8 | 31,5 | 28,9 | 9,39 | 8,23 | 7,01 |
19 | 36,2 | 32,9 | 30,1 | 10,1 | 8,91 | 7,63 |
20 | 37,6 | 34,2 | 31,4 | 10,9 | 9,59 | 8,26 |
21 | 38,9 | 35,5 | 32,7 | 11,6 | 10,3 | 8,90 |
22 | 40,3 | 36,8 | 33,9 | 12,3 | 11,0 | 9,54 |
23 | 41,6 | 38,1 | 35,2 | 13,1 | 11,7 | 10,2 |
24 | 43,0 | 39,4 | 36,4 | 13,8 | 12,4 | 10,9 |
25 | 44,3 | 40,6 | 37,7 | 14,6 | 13,1 | 11,5 |
26 | 45,6 | 41,9 | 38,9 | 15,4 | 13,8 | 12,2 |
27 | 47,0 | 43,2 | 40,1 | 16,2 | 14,6 | 12,9 |
28 | 48,3 | 44,5 | 41,3 | 16,9 | 15,3 | 13,6 |
29 | 49,6 | 45,7 | 42,6 | 17,7 | 16,02 | 14,3 |
30 | 50,9 | 47,0 | 43,8 | 18,5 | 16,8 | 15,0 |
Таблица 2 Варианты заданий к лабораторной работе
q | m | n | x1 | x2 | x3 | x4 | x5 | x6 | x7 | |
1 | 3 | 3 | 5 | 0 | 1 | 2 | 1 | 1 | - | - |
2 | 2 | 3 | 7 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
3 | 2 | 5 | 7 | 1 | 1 | 1 | 1 | 0 | 0 | 0 |
4 | 3 | 2 | 5 | 1 | 1 | 1 | 1 | 1 | - | - |
5 | 2 | 4 | 7 | 1 | 1 | 1 | 0 | 0 | 1 | 1 |
6 | 3 | 3 | 5 | 0 | 0 | 0 | 1 | 1 | - | - |
7 | 3 | 3 | 6 | 0 | 1 | 2 | 1 | 2 | 0 | - |
8 | 3 | 4 | 6 | 1 | 1 | 1 | 2 | 2 | 2 | - |
9 | 3 | 5 | 6 | 1 | 1 | 1 | 0 | 0 | 2 | - |
10 | 2 | 3 | 7 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
11 | 2 | 6 | 7 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
12 | 2 | 2 | 7 | 0 | 1 | 0 | 1 | 0 | 2 | 0 |
13 | 3 | 3 | 5 | 1 | 1 | 1 | 1 | 0 | 0 | 0 |
14 | 2 | 2 | 6 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
15 | 3 | 4 | 5 | 1 | 2 | 1 | 0 | 1 | 2 | 2 |
Интерфейс программы:
Листингпрограммы:
Private Sub generator_Click()
Dim q, m, n, R, m3 As Integer
Dim mx, dx, qx, rk, f2 As Variant
Dim y(7) As Integer
Dim z() As Integer
Dim p() As Integer
List1.Clear
' ввод данных
q = Val(q1.Text)
m = Val(m1.Text)
n = Val(n1.Text)
y(1) = Val(x1.Text)
y(2) = Val(x2.Text)
y(3) = Val(x3.Text)
y(4) = Val(x4.Text)
y(5) = Val(x5.Text)
y(6) = Val(x6.Text)
y(7) = Val(x7.Text)
m3 = q ^ n - 1
m2.Text = Str(m3)
ReDim z(m3) As Integer
ReDim p(q) As Integer
'операторы для визуализации
Ifq = 2 Then
r3.Visible = 0
r4.Visible = 0
Label17.Visible = 0
Label18.Visible = 0
Else
r3.Visible = 1
Label17.Visible = 1
End If
If q = 3 Then
r4.Visible = 0
Label18.Visible = 0
Else
If q = 4 Then
r4.Visible = 1
Label18.Visible = 1
End If
EndIf
' вывод начальных чисел регистра
For i = 1 To n
h = h + Str(y(i))
Next i
List1.AddItem (h)
' генерирование новых чисел регистра и их вывод
For i = 1 To m3
R = y(m) + y(n)
If R >= q Then R = R - q
z(i) = y(n)
List1.AddItem ("R=" + Str(R) + " " + "y(" + Str(i) + ")=" + Str(z(i)))
For k = n To 2 Step -1
y(k) = y(k - 1)
Next k
p(R) = p(R) + 1
y(1) = R
f = ""
For b = 1 To n
f = f + Str(y(b))
Next b
List1.AddItem ("генератор : " + f)
Next i
For i = 0 To q - 1
List1.AddItem ("p(" + Str(i) + ")= " + Str(p(i)))
Nexti
' нахождение ма ожидания
For i = 1 To m3
mx = mx + z(i)
Next i
mx = mx / m3
mx1.Text = Str(mx)
' нахождение дисперсии
Fori = 1 Tom3
dx = dx + (z(i) - mx) ^ 2
Next i
dx = dx / (m3 - 1)
dx1.Text = Str(dx)
' нахождение средеквадратичного отклонения
qx = Sqr(dx)
qx1.Text = Str(qx)
'нахождение автокорреляционной функции
For rk = 1 To q
kr = 0
For i = 1 To m3 - rk
kr = kr + (z(i) - mx) * (z(i + rk) - mx)
Next i
kr = kr / (m3 - rk - 1)
Select Case rk
Case 1
r1.Text = Str(kr)
Case 2
r2.Text = Str(kr)
Case 3
r3.Text = Str(kr)
Case 4
r4.Text = Str(kr)
EndSelect
Nextrk
'нахожение по критерии Пирсона
For i = 1 To q
f2 = f2 + (1 / q - p(i) / m3) ^ 2
Next i
f2 = 1 / q * f2
Text1.Text = Str(f2)
End Sub
Список используемой литературы
1. Ли. И.Т., Моделирование экономических процессов, Душанбе, 2008 год