Імітаційне моделювання. Функція генератор випадкових (псевдо) чисел

МІНІСТЕРСТВО ОСВІТИ І НАУКИ МОЛОДІ ТА СПОРТУ

КРИВОРІЗЬКИЙ ПЕДАГОГІЧНИЙ ІНСТИТУТ ДВНЗ КНУ

Кафедра інформатики і

прикладної математики

ЗВІТ

Імітаційне моделювання

Виконав:

студент 4-го курсу

групи І-08

Крепчук О.О.

Керівник:

Євтєєв В.М.





м. Кривий Ріг

2012 р.

Завдання: Написати функцію «генератор випадкових(псевдо) чисел». Дослідити поведінку ЛК на зміну параметрів. Побудувати графік.

Додаток функції майн.

n=1000;

x = randint(n,1);

x(1)=100;

m=29;

y=zeros(m,1);

a=1;

c=20;

for i=2:n

x=LK(m,a,c,x,i);

end;

y=podshet(x,y,m,n);

showplot(y);

Параметри ЛК

М = 29, краще брати м в яких нод = 1 і самому м.

С - повинно бути менше за м.

А – повинно бути більше нуля і менше М.

Додаток функції генератора.

function x=LK(m,a,c,x,i)

x(i)=mod((a*x(i-1)+c),m);

end

Все як в лекціях. Реалізована функція xn+1=(axn+c) mod m. З вхідними параметрами.

За допомогою функції і оримали масив 1000 значень. ПСЧ отримались в проміжку від 1 до 29 тобто до М.

Рис1. Вивід масиву наших ЛК чисел з нашими параметрами.

Інші параметри М=23, кількість в масиві 10000. а=1,с=21,першочергове значення 90.

Рис.2. Інші параметри.

І так з рис.2. видно, що генерує по рівномірному закону розподілу.

Додаток Експ закон.

function k = Expon( x,n )

for i=1:n

k(i)=(-log(1-x(i))/2);

end;

end

Передаємо наш масив функції експ і вона реалізує закон Експ. З тими самими параметрами.

Додаток Ерленга закон.

%распределение Эрланга +

for i=1:10000

sum=0;

for y=1:l-1

n=rand(1);

sum=sum+(((lam*n)^y)/prod(1:y))*exp(-lam*n);

end;

a(i)=1-sum;

end;

Рис.3.

Додаток Норм. закон.

%нормальное распределение +

for i=1:10000

a(i)=from+(to-from)*randn(1);

end;

Рис.4.

Висновок: Параметр м впливає на проміжок генерації. М також повинно мати нод 1 і саме себе. Розглянуті 4 закони розподілу. Проаналізовані параметри які входять в ЛК. М,а,с, і початковий параметр х0.

Припускали, що m>2, 1<а( а=0 або а=1 брати безглуздо, а всі інші по модулю m еквівалентні числам з діапазону 0а), 0c<m і 0x0<m. Нам буде зручно виділити три випадки:

xn+1=(a xn+c) mod m, c0

(2)

xn+1=a xn mod m, m – составе число.

(3)

xn+1=a xn mod m, m – просте число.

(4)

Генератори (3), (4) є окремим випадком (2) і визначаються трійкою параметрів {m, a, x0}, причому насправді у випадку (4) вибір x0 байдужий, при 1 x0<m виходить один і той же генератор.

М повинно бути простим, тому що ми потрапимо на період. Тобто буде повторюватися наші ПСЧ.