Скачиваний:
25
Добавлен:
02.05.2014
Размер:
97.79 Кб
Скачать

Моделируем 

Получаем путём решения уравнения

F()=

Листинг программы:

uses crt;

var i: integer;

x,q: real;

begin

randomize;

clrscr;

writeln('e - ravnomerno raspredel. sl. velichina');

writeln('n - sl. vel. s plotnost','''','u veroyatnosti f(n)=tg(n)/ln(sqrt(2)),');

writeln(' n=0..Pi/4');

writeln;

writeln('e ');

writeln('n ');

for i:=1 to 10 do begin

q:=random;

x:=arctan(sqrt(exp(q*ln(2))-1));

gotoxy((i-1)*6+4,5);

write(q:6:2);

gotoxy((i-1)*6+4,6);

write(x:6:2);

end;

readln;

end.

Результат выполнения программы:

e - ravnomerno raspredel. sl. velichina

n - sl. vel. s plotnost'u veroyatnosti f(n)=tg(n)/ln(sqrt(2)),

n=0..Pi/4

e 0.05 0.23 0.79 0.11 0.95 0.66 0.99 0.94 0.31 0.82

n 0.18 0.40 0.70 0.27 0.77 0.65 0.78 0.77 0.46 0.72

Метод Неймана.

Данный метод в настоящее время является наиболее распространенным в практике моделирования случайных величин. Суть его заключается в следующем. Пусть требуется смоделировать случайную величину  , определенную на конечном интервале (а,b) и имеющую заданную плотность распределения р(х)с.

C

У=p(x)

ξ’’

0 α ξ́́́́́’ b X

Введем в рассмотрение две независимые случайные величины 1 и 2 . равномерно распределенные на интервале (0,I), а также случайные величины =a+(b-a)1 и =c2. Тогда случайная величина , определяемая формулой

= , если <р() .

имеет плотность вероятностей, равную р(х).

Блок-схема алгоритма моделирования случайной величины по методу Неймана имеет следующий вид:

Моделируем 1

Моделируем 2

:=a+(b-a) 1

:=c2

нет

да

:=

Листинг программы:

uses crt;

var i: integer;

e1,e2,c: real;

begin

randomize;

clrscr;

writeln('n - sl. vel. s plotnost','''','u veroyatnosti f(n)=tg(n)/ln(sqrt(2)),');

writeln(' n=0..Pi/4');

writeln(' sup(f(n))=1/ln(sqrt(2))');

writeln('e1 - sl. velichina ravnomerno raspredel. na [0; sup(f(n))]');

writeln('e2 - sl. velichina ravnomerno raspredel. na [min(n); max(n)]');

writeln;

writeln('e1 ');

writeln('f(e2) ');

writeln('n ');

repeat

e1:=2*random/ln(2);

e2:=Pi*random/4;

c:=2*sin(e2)/(cos(e2)*ln(2));

if e1<c then begin

i:=i+1;

gotoxy((i-1)*6+7,7);

write(e1:6:2);

gotoxy((i-1)*6+7,8);

write(c:6:2);

gotoxy((i-1)*6+7,9);

write(e2:6:2);

end;

until i>=10;

readln;

end.

Результат выполнения программы:

n - sl. vel. s plotnost'u veroyatnosti f(n)=tg(n)/ln(sqrt(2)),

n=0..Pi/4

sup(f(n))=1/ln(sqrt(2))

e1 - sl. velichina ravnomerno raspredel. na [0; sup(f(n))]

e2 - sl. velichina ravnomerno raspredel. na [min(n); max(n)]

e1 0.17 1.84 1.00 0.65 0.87 2.75 1.51 1.03 0.96 0.44

f(e2) 0.58 2.18 1.08 2.38 2.42 2.77 1.62 2.70 2.03 1.48

n 0.20 0.65 0.36 0.69 0.70 0.77 0.51 0.75 0.61 0.47

Метод суперпозиций.

Основная идея этого метода сводятся к следующему. Пусть заданная функция распределения F(х) случайной величины  может быть представлена в виде:

(1)

соответственно плотность распределения

, CX 0 , x=1 ,2 ……m .

Из (1) при х  следует, что

(2)

Выражение (2) позволяет ввести в рассмотрение дискретную случайную величину  с распределением:

xi

1

2

3

………….

m

Pi

C1

C2

C3

………….

Cm

так , что Р{=x}=СX

Пусть  - равномерно распределенная случайная величина. Нетрудно показать, что если по величине  получить значение х случайной величины , а затем получить значение случайной величины  либо с помощью метода обратных функций по известной функций распределения FX(х), либо с помощью метода Неймана по известной плотности распределения pX(х) , то функция распределения  будет равна F(х). Следует отметить, что равномерно распределенные случайные величины, используемые как в методе обратных функций (2), так и в методе Неймана (2 , 3), должны быть независимы с 1.

Блок-схемы алгоритмов моделирования случайной величины  по методу суперпозиций:

Моделируем 1

Моделируем 1

Моделируем

 = x

Моделируем

 = x

Моделируем 2

Моделируем 2,3

Тут вы можете оставить комментарий к выбранному абзацу или сообщить об ошибке.

Оставленные комментарии видны всем.

Соседние файлы в папке Modelup_q