Читайте также: |
|
1. V1=2a1-1, V2=2a2-1
2. s= (V1)2+(V2)2
3. Якщо s³1, повернутися до п. 1
4. R= , U1=V1 R, U2=V2 R.
Обидва алгоритми реалізують <<метод полярних координат>>. Найчастіше алгоритм А2 більш ефективний.
Для моделювання нормального розподілу з параметрами m і s= слід зробити перетворення Ui: Ui = m + sUi.
2.Логнормальний розподіл
p(x)= exp , x>0, m>0, s>0. (1.2.3)
Алгоритм У1.
1. х=u (використовуючи А2).
2. V=m exp((x).
Тут u – стандартне нормальне число.
3. Експоненційний розподіл
p(x)=λ (exp(- λx), (λ>0, x>0. (1.2.4)
Алгоритм С1.
1. x= -(ln a)/l
Алгоритм С2
1. Одержати a1, a2, a3.
2. s = ln (a1 a2).
3. V1= -as, V2=(a-1)s.
Алгоритм С3
1. Одержати a1, a2, a3, a4, a5.
2. Відсортувати (a4, a5)®(, ), причому a4< a5.
3. s=ln(a1 a2 a3).
4. x1= a4 , x2= - , x3=1- .
5. V1=x1s, V2=x2s,V3=x3s.
Ефективність цих трьох алгоритмів залежить від співвідношення трудомісткості операцій ln(·) і одержання α; вона може бути визначена експериментально для кожної ЕОМ.
4. Рівномірний розподіл
p(x)=1/(b - a), (1.2.5)
Алгоритм D1.
1. x=a+(b-a)a.
5. Розподіл хі-квадрат
p(x)=x(v - 2)/2exp(-x2/2)/(2v/2Г(v/2)), x³0, (1.2.6)
де v – позитивне ціле <<число ступенів волі>>.
Алгоритм Е1.
Для парних v: 1. Згенерувати a0, …, av/2-1...
2. V=-2ln( ai).
Для непарних v: 1. Згенерувати a0, …, av/2-1...
2. V=-2ln( ai)+u2, де u – нормально розподілене число.
6. Гамма-розподіл
p(x)=(x/b)c-1exp(-x/b)/bГ(с), х³0, (1.2.7)
де b – параметр масштабу (b>0); c – параметр форми (з>0).
Алгоритм F1.
0. Константа (>0 (мале машинозалежне число, для якого обов'язково 1,0 - (< 1.0).
1. v=[c] (ціла частина), з1= з – v, V1=0, V2=0.
2. Якщо з1<x, то перейти до п. 8; якщо 1-1з<x, те v=v+1 і перейти до п. 8.
3. Одержати av+1, av+2.
4. s1= , s2= .
5. s=s1+s2.
6. Якщо s1>1, то перейти до п. 3.
7. V2=-s1(ln av+3)/s.
8. Одержати a1, …, av...
9. V1=-ln( ai).
10. V=b (V1+V2).
7. Бета-розподіл
p(x)=xv-1(1 – x)m-1/B(v, m), xÎ[0, 1], v>0, m>0, (1.2.8)
де B(v, m)= – бета функція.
Алгоритм G1.
1. За допомогою алгоритму F1 одержимо V1 з параметрами b=1, c=v.
2. За допомогою алгоритму F1 одержимо V2 з параметрами b=1, c=m.
3. b= V1/(V1+V2).
Алгоритм G2.
1. Одержати a1, a2.
2. s1= , s2= .
3. s=s1+s2, якщо s>1, перейти до п.1.
4. b=s1/s.
8. Розподіл Вейбулла
p(x)=(cxc-1/bc)exp[-(x/b)c], c>0, b>0, x³0. (1.2.9)
Алгоритм H1.
1. W1=b(-ln a)1/c.
9. Розподіл Накагами
p(x)= mx2m-1exp(- x2),x>0, (1.2.10)
де m – параметр форми; s - параметр масштабу.
Алгоритм Q1.
1. За допомогою алгоритму F1 одержати V з параметрами c=m, b=1.
2. W=s .
10. Розподіл Райса
p(x)= exp(- )I0(), x>0, (1.2.11)
де а – параметр <<нецентральності>> (а>0); s – параметр масштабу.
Алгоритм R1.
1. Використовуючи А2, одержати U1, U2.
2. R=(a+sU1)2+(sU2)2.
11. Трикутний розподіл (Симпсона)
p(x)= (1.2.12)
Алгоритм S1.
1. Одержати a1, a2..
2. z1=a/2+a1(b-a)/2, z2=a/2+a2(b-a)/2.
3. s=z1+z2.
12. Розподіл Бернуллі
P{(=k}=kp+(1-k)q, k=0,1; q=1-p. (1.2.13)
Алгоритм X1.
1. Одержати a.
2. Якщо a<p, то x=1; інакше x=0.
13. Біноміальний розподіл
P{x=k}= , k=0,1,2, …,n... (1.2.14)
Алгоритм Y1.
1. V=a, k=0, P1=qn.
2. V=V-P1.
3. Якщо V<0, перейти до п.6.
4. P1=P1(n-k)p/(k+1)q.
5. k=k+1, перейти до п.2.
6. x=k.
Алгоритм Y2.
1. s=0, k=1.
2. Одержати ak.
3. Якщо ak<p, то s=s+1.
4. k=k+1.
5. Якщо k£n, перейти до п.2.
6. x=s.
Алгоритм Y3(для малих р).
1. k=0, L=0.
2. Одержати ak.
3. L=L+(lnak/lnq+1), k=k+1.
4. Якщо L£n, перейти до п.2.
5. x=k-1.
14. Дискретний рівномірний розподіл
P{(=k}=1/n, k=1, 2,...,n. (1.2.15)
Алгоритм Z1.
1. Одержати a.
2. x=[1-an].
15. Розподіл Пуассона
P{x=k}=(lk/k!)exp(-l), k=0, 1, …... (1.2.16)
Алгоритм V1(для малих l).
1. p=exp(-l), k=-1, s=0.
2. k=k+1, s=s ak.
3. Якщо s>p, перейти до п.2.
4. x=к.
Алгоритм V2(наближений для l>>1).
1. Одержати U, використовуючи А2.
2. x=[U +l].
Дата добавления: 2015-08-13; просмотров: 74 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Алгоритм | | | Зміст та порядок виконання роботи |