Схема моделирования псевдослучайных чисел. Алгоритм соответствующей псевдослучайной дискретной величины.

Страницы работы

4 страницы (Word-файл)

Содержание работы

Цель работы

-           Разработать программу, реализующую соответствующую схему моделирования равномерно распределенных псевдослучайных чисел на отрезке [0,1].

-           Найти рекуррентное соотношение для вычисления вероятности . Разработать и реализовать алгоритм моделирования соответствующей псевдослучайной дискретной величины.

Задание

-           Тип программного генератора моделирования псевдослучайных величин:

генератор Ковью

-           Тип дискретного распределения :

Процесс моделирования

Рекуррентное соотношение:

Текст программы:

#include<math.h>

#include <fstream.h>

#define n 50 //ðàçìåð ïîñëåäîâàòåëüíîñòè

#define  m 128 //ìîäóëü

void main(void)

{

int x=1,j,i;

float sv[100],p0,p,M;

ofstream out("1.txt");

ofstream out1("2.txt");

sv[0]=float(x)/m;

out << sv[0] << "\n";

for(j=1;j<n;j++)

x=(x+x*x)%m;

sv[j]=float(x)/m;

out<< sv[j]  << "\n";

}         

out.close();

p0=1/2.;

for(j=0;j<n;j++)

{

M=sv[j];

p=p0;

i=0;

M=M-p;

while((M>=0)&&(p!=0))

{

p=p/2.;

i++;

M=M-p;

}

out1 << i << "\n";

}

out1.close();

}

Результаты

Моделирование равномерно распределенных псевдослучайных чисел на отрезке [0,1]


0.0078125

0.015625

0.046875

0.328125

0.109375

0.640625

0.171875

0.953125

0.234375

0.265625

0.296875

0.578125

0.359375

0.890625

0.421875

0.203125

0.484375

0.515625

0.546875

0.828125

0.609375

0.140625

0.671875

0.453125

0.734375

0.765625

0.796875

0.078125

0.859375

0.390625

0.921875

0.703125

0.984375

0.015625

0.046875

0.328125

0.109375

0.640625

0.171875

0.953125

0.234375

0.265625

0.296875

0.578125

0.359375

0.890625

0.421875

0.203125

0.484375

0.515625


Вывод:

Из графика видно, что псевдослучайные величины распределены почти равномерно.

Моделирование псевдослучайной дискретной величины


0

0

0

0

0

1

0

4

0

0

0

1

0

3

0

0

0

1

1

2

1

0

1

0

1

2

2

0

2

0

3

1

6

0

0

0

0

1

0

4

0

0

0

1

0

3

0

0

0

1  


Вывод:

Используя последовательность псевдослучайных величин, полученных в предыдущем пункте, мы смогли построить другую последовательность псевдослучайных величин распределенных по заданному закону с вероятностями, которые легко вычисляются по рекуррентной формуле.

Информация о работе