Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Do begin




Begin

Var

Const

МОДЕЛИРОВАНИЕ НЕПРЕРЫВНОЙ СЛУЧАЙНОЙ ВЕЛИЧИНЫ

End.

Else

Do begin

Begin

Var

Const

SIZE=20 {задание n - числа значений моделируемой ДСВ}

х: array [1..SIZE] of integer; {массив значений ДСВ}

r:real; {случайные числа}

i:integer; {счетчик цикла }

for i:=1 to SIZE

r:=random;

if ( r<0,3) and ( r>=0)

then х[i]:=0

if ( r<0,5) and ( r>=0,3)

then х[i]:=1

else х[i]:=2;

writeln('X[',i, ']= ',х[i]); {вывод массива значений ДСВ}

end;

– число испытаний
п – число значений моделируемой ДСВ
i:=1 переменная-счетчик цикла
i>n
Присвоение значения r при помощи генератора случайных чисел
 
i:=i+1
да
да
нет
нет
0≤ ri <0,3
Вывод значений х[i]:  
х[i]:=0
0,3≤ ri <0,5
да
нет
х[i]:=1
х[i]:=2

Контрольные вопросы:

1. В чём заключается сущность моделирования ДСВ методом статистических испытаний?

2. Решите задачу: Составьте алгоритм моделирования последовательности значений ДСВ числа монет, выпавших гербом, при двух (трех) подбрасываниях монеты.

 

 

у=F(х)
х
 
 
r1
х1
Рассмотрим принцип моделирования непрерывной случайной величины. Непрерывная случайная величина может быть задана функцией плотности вероятности f(х) или интегральной функцией распределения F(х). Выберем способ задания НСВ с помощью интегральной функции распределения F(х), т.к. эта функция может принимать значения из промежутка [0; 1]:.

С помощью генератора случайных чисел можно получить последовательность случайных чисел из промежутка [0; 1]: r1, r2, r3…rп . Для каждого ri существует единственное значение НСВ хi, причем

r1 = F(х1), r2 = F(х2), r3 = F(х3) и т.д.

Чтобы получить значения НСВ х1, х2, х3…хп, нужно применить обратную для F(х) функцию, т.е. хi = F-1(ri). Такой метод получения значений НСВ, использующий функцию, обратную интегральной функции распределения, называется методом обратных функций.

В процессе изучения теории вероятностей мы рассматривали три вида распределения НСВ:

· равномерное;

· показательное;

· нормальное.

Рассмотрим моделирование НСВ в каждом случае.

1. Моделирование НСВ, равномерно распределенной на отрезке [ а; b ], методом обратных функций.

Если непрерывная случайная величина распределена равномерно на отрезке [ а; b ], то она имеет следующую функцию плотности вероятности: F(х)=. Наша цель: получить последовательность хi значений непрерывной случайной величины с равномерным распределением.

Применяя генератор случайных чисел, будем получать последовательность случайных чисел из промежутка [0; 1]: r1, r2, r3…rп, где ri = F(хi). Тогда ri=. Выразим хi:

хi – а = ri(b – а);

хi = ri(b – а) + а – формула задания значений НСВ с равномерным распределением.

Программа моделирования равномерно распределенной на отрезке [ а; b ] НСВ на языке Turbo Pascal будут выглядеть следующим образом:

program NSV1;

SIZE=20 {задание n - числа значений моделируемой HСВ}

х: array [1..SIZE] of real; {массив значений HСВ}

r:real; {случайные числа}

i:integer; {счетчик цикла }

a,b:integer; {границы отрезка, на котором задана HСВ}

write('Введите границы отрезка а и b');

readln(а);

readln(b);

for i:=1 to SIZE

r:=random;

х[i]:=r*(b-a)+a;

writeln('X[',i, ']= ',х[i]); {вывод массива значений HСВ}

end;




Поделиться с друзьями:


Дата добавления: 2014-01-06; Просмотров: 357; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.