- •Алгоритм
- •Бета-розподіл
- •Завдання для виконання
- •1.Нормальний розподіл
- •Алгоритм а2
- •2.Логнормальний розподіл
- •Експоненційний розподіл
- •Рівномірний розподіл
- •Розподіл хі-квадрат
- •Гамма-розподіл
- •Дискретний рівномірний розподіл
- •Розподіл Пуассона
- •Зміст та порядок виконання роботи
- •Визначення закону розподілу
- •1.1.Побудова статистичних розподілів.
- •1.2. Побудова гістограми
- •1.3.Числові характеристики статистичного розподілу
- •Обчислення теоретичних частот
Завдання для виконання
1.Нормальний розподіл
p(x)=(2)1/2exp(-x 2/2) , x(-, ). (1.2.2)
Алгоритм А1.
0. Зарезервовано константу с =2.
1.
R=
2. =c2.
3. U1=R cos, U2=R sin.
Алгоритм а2
V1=21-1, V2=22-1
s= (V1)2+(V2)2
Якщо s1, повернутися до п. 1
R=
, U1=V1 R, U2=V2 R.
Обидва алгоритми реалізують <<метод полярних координат>>. Найчастіше алгоритм А2 більш ефективний.
Для
моделювання нормального розподілу з
параметрами m і =
слід зробити перетворення
Ui:
Ui
=
m + Ui.
2.Логнормальний розподіл
p(x)=
exp
, x>0, m>0, >0.
(1.2.3)
Алгоритм У1.
х=u (використовуючи А2).
V=m exp((x).
Тут u – стандартне нормальне число.
Експоненційний розподіл
p(x)=λ ( exp( - λx ), (λ>0, x>0. (1.2.4)
Алгоритм С1.
= -(ln )/
Алгоритм С2
1. Одержати 1, 2, 3.
s = ln (1 2) .
V1= s , V2=(-1)s.
Алгоритм С3
Одержати 1, 2, 3, 4, 5.
Відсортувати (4, 5)(
,
),
причому 4<
5.s=ln(1 2 3) .
x1= 4 , x2= - , x3=1- .
V1=x1s, V2=x2s,V3=x3s.
Ефективність цих трьох алгоритмів залежить від співвідношення трудомісткості операцій ln(·) і одержання α; вона може бути визначена експериментально для кожної ЕОМ.
Рівномірний розподіл
p(x)=1/(b - a), (1.2.5)
Алгоритм D1.
=a+(b-a).
Розподіл хі-квадрат
p(x)=x(v - 2)/2exp(-x2/2)/(2v/2Г(v/2)), x0, (1.2.6)
де v – позитивне ціле <<число ступенів волі>>.
Алгоритм Е1.
Для парних v: 1. Згенерувати 0, … , v/2-1...
2.
V=-2ln(
i).
Для непарних v: 1. Згенерувати 0, … , v/2-1...
2. V=-2ln( i)+u2, де u – нормально розподілене число.
Гамма-розподіл
p(x)=(x/b)c-1exp(-x/b)/bГ(с), х0, (1.2.7)
де b – параметр масштабу (b>0); c – параметр форми (з>0).
Алгоритм F1.
Константа (>0 (мале машинозалежне число, для якого обов'язково 1,0 - (< 1.0).
v=[c] (ціла частина), з1= з – v, V1=0, V2=0.
Якщо з1<, то перейти до п. 8; якщо 1-1з<, те v=v+1 і перейти до п. 8.
Одержати v+1, v+2.
s1=
, s2=
.s=s1+s2.
Якщо s1>1, то перейти до п. 3.
V2=-s1(ln v+3)/s.
Одержати 1, …, v...
V1=-ln(
i).V=b (V1+V2).
Бета-розподіл
p(x)=xv-1(1 – x)-1/B(v, ), x[0, 1], v>0, >0, (1.2.8)
де
B(v, )=
–
бета функція.
Алгоритм G1.
За допомогою алгоритму F1 одержимо V1 з параметрами b=1, c=v.
За допомогою алгоритму F1 одержимо V2 з параметрами b=1, c=.
= V1/(V1+V2).
Алгоритм G2.
Одержати 1, 2.
s1=
,
s2=
.s=s1+s2, якщо s>1, перейти до п.1.
=s1/s.
Розподіл Вейбулла
p(x)=(cxc-1/bc)exp[-(x/b)c], c>0, b>0, x0. (1.2.9)
Алгоритм H1.
W1=b(-ln )1/c.
Розподіл Накагами
p(x)=
mx2m-1exp(-
x2),x>0,
(1.2.10)
де m – параметр форми; - параметр масштабу .
Алгоритм Q1.
За допомогою алгоритму F1 одержати V з параметрами c=m, b=1.
W=
.
Розподіл Райса
p(x)=
exp(-
)I0(
), x>0, (1.2.11)
де а – параметр <<нецентральності>> (а>0); – параметр масштабу.
Алгоритм R1.
Використовуючи А2, одержати U1, U2.
R=(a+U1)2+(U2)2.
Трикутний розподіл (Симпсона)
p(x)=
(1.2.12)
Алгоритм S1.
Одержати 1, 2..
z1=a/2+1(b-a)/2, z2=a/2+2(b-a)/2.
s=z1+z2.
Розподіл Бернуллі
P{(=k}=kp+(1-k)q, k=0,1; q=1-p. (1.2.13)
Алгоритм X1.
Одержати .
Якщо <p, то =1; інакше =0.
Біноміальний розподіл
P{=k}=
, k=0,1,2, … ,n...
(1.2.14)
Алгоритм Y1.
V=, k=0, P1=qn.
V=V-P1.
Якщо V<0, перейти до п.6.
P1=P1(n-k)p/(k+1)q.
k=k+1, перейти до п.2.
=k.
Алгоритм Y2.
s=0, k=1.
Одержати k.
Якщо k<p, то s=s+1.
k=k+1.
Якщо kn, перейти до п.2.
=s.
Алгоритм Y3(для малих р).
k=0, L=0.
Одержати k.
L=L+(lnk/lnq+1), k=k+1.
Якщо Ln, перейти до п.2.
=k-1.
