Моделирование ВТ 1
.docxМИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
ОБНИНСКИЙ ИНСТИТУТ АТОМНОЙ ЭНЕРГЕТИКИ
Федерального государственного автономного образовательного учреждения
Высшего профессионального образования
« Национальный исследовательский ядерный университет «МИФИ»
(ИАТЭ НИЯУ МИФИ)
Отчет Лабораторная работа №1
Моделирование случайной величины.
Работу выполнил
студент группы ИВТ-Б17
Петровский В.Б.
Работу проверил:
Перегуда А.И.
Обнинск, 2019 г.
Цель работы:
Сгенерировать выборку из случайных величин с заданным законом распределения и проверить ее на соответствие этому распределению.
Теоретическая часть.
В данной работе будем рассматривать распределение Чамперноуна.
Ниже приведем все формулы, которые нам будут нужны для вывода графиков (плотность вероятности, распределение вероятности, эмпирической функции), а также формулы необходимые для расчета основных параметров распределения, которые мы должны будем реализовать в нашей программе. Также ниже будет приведен алгоритм, используемый для построения гистограммы и проверки на соответствии выборки распределению.
Алгоритм построения гистограммы.
а) Сортировка выборки случайных чисел по возрастанию;
б) Определяем сколько в выборки не повторяющихся чисел, для каждого такого числа записываем число его повторений в выборке;
в) определяем количество интервалов(L) по формуле:
, где N - объем выборки.
г) Определяем размах выборки(R), как разницу максимального и минимального случайного числа в выборке;
д) Определяем длину интервала(h) по формуле: ;
е) Для каждого интервала определяем количество сгенерированных чисел попавших в интервал;
ж) Определяем относительные частоты для каждого интервала, как отношение количества попавших в этот интервал сгенерированных чисел к объему выборки.
Код программы.
clear; clc;close all
N=100;
u=0;
a=1.57;
i=1;
while i<=100
y=u+log(tan(pi*rand/2))/a;
Xi(i)=y;
Yi=sort(Xi);
i=i+1;
end
p=0;
for i = 1:1:length(Yi)
if Yi~=Yi-1
ki(i)=p+1;
end
end
k=length(ki);
disp(k);
lp=1+3.222*log10(N);
l=ceil(lp);
disp(l);
R=max(Yi)-min(Yi);
disp(R);
H=R/l;
disp(H);
Mx=mean(Yi);
disp(Mx);
Dx=var(Yi);
disp(Dx);
p=[0.9;0.95;0.99;0.999];
q=1-p;
Mxd=[];
for k=1:length(q)
[hh,pp,ci]=ttest(Xi,Mx,q(k));
Mxd=[Mxd [p(k); ci'] ];
end
('Доверительные интервалы для мат. ожидания')
fprintf('p=%8.4f: %9.6f<=Mx<=%9.6f\n', Mxd)
fx=length(Xi)-1;
chi2l=chi2inv(1-q/2,fx);
chi2r=chi2inv(q/2,fx);
Dxd=[p, fx*Dx./chi2l, fx*Dx./chi2r]';
disp('Доверительные интервалы для дисперсии')
fprintf('p=%8.4f: %9.6f<=Dx<=%9.6f\n', Dxd)
m=median(Xi);
disp('Медиана')
disp(m);
moda=mode(Xi);
disp('Мода')
disp(moda);
st=std(Xi);
disp('Стандартное отклонение')
disp(st);
SrO=0.5611*st;
disp('Среднее отклонение')
disp(SrO);
disp('Ассиметрия: Sk = 0')
disp('Эксцесс:Ex = 2')
ik=1;
k1=min(Yi);
freqn=zeros(1,l);
for i=1:l
freqn(ik)=freqn(ik)+sum((Yi>=k1)&(Yi<=k1+H));
k1=min(Yi)+H*i;
ik=ik+1;
end
disp('Частота')
disp(freqn)
relfreq=freqn/N;
re=sum(relfreq);
disp('Относительная частота');
disp(relfreq)
bar(relfreq,re);
title(['Гистрограмма'])
figure(2)
q=sort(freqn);
i=1:8;
z=sum(freqn(i));
it=1;
for i=1:8
yt(it)=sum(q(it)/z);
it=it+1;
end
[yt,l] = ecdf(yt);
stairs(yt,l);
title(['Эмпирическая функция'])
figure(3)
[f, xi] = ksdensity(Xi);
plot(xi, f, 'r');
title(['Плотность вероятности с параметрами a=', num2str(u), ' b=', num2str(a)])
figure(4)
n = u*10-50;
for i=1:101
teorpdf(i)=a/(pi*cosh(a*(n/10-u)));
n=n+1;
end
min = u-5;
max = u+5;
plot(min:0.1:max,teorpdf)
title(['Теоретическая плотность с параметрами a=', num2str(u), ' b=', num2str(a)])
figure(5)
ecdf(Xi);
title(['Функция распределения от a=', num2str(u), ' b=', num2str(a)])
figure(6)
n=u*10-50;
for i=1:101
teorcdf(i)=2*(atan(exp(a*(n/10-u))))/pi;
n=n+1;
end
min = u-5;
max = u+5;
plot(min:0.1:max,teorcdf)
title(['Теор Функция распределения от a=', num2str(u), ' b=', num2str(a)])
k=kstest2(teorpdf,yt);
if k==1
disp('Выборка соответствует теории')
else
disp('Выборка не соотвествует теории')
end
Результаты работы программы.
Приведем результаты работы программы для объема выборки N=100, a=1.57, u=0.
1) График плотности распределения
2)График функции распределения
3)График эмпирической функции
4) Гистограмма
5) Результаты вычисления основных параметров распределения, работы алгоритма построения гистограммы.
Вывод.
Формула для генерации случайных чисел по закону распределния Чамперноуна, используемая в нашей программе верна.