Лабораторная работа: Моделирование датчиков случайных чисел с заданным законом распределения
Исследование, проводимое в данной работе, заключается в получении программного датчика случайных чисел, пригодного для моделирования случайной последовательности с заданным законом распределения. При этом необходимо разработать алгоритм и программу датчика, а затем исследовать свойства выработанной им последовательности. При проведении исследований необходимо:
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