Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Цель работы. Практическое освоение алгоритма программной генерации непрерывной случайной величины и методов статистической проверки разработанного генератора.
clear all;
clc
N=200;
%-------------генератор---------------------------
z=rand(N,1);
x=-0.24+sqrt(0.48^2+12*z)/2;
%---------построение графиков -----------------------------------
a=0:0.001:1.5;
figure(1);
subplot(3,1,1);
plot(a,f(a),'b-');
title(['f(x) - plotnost raspred']);
xlabel('x');
ylabel('p(x)');
subplot(3,1,2);
plot(a,Fx(a),'b-');
title(['F(x) - f-ciya raspred']);
xlabel('x');
ylabel('P(X<x)');
Fe=((1:N)-0.5)/N;
x1=sort(x);
Ft=Fx(x1);
subplot(3,1,3);
plot(x1,Ft,'b-');
title(['F(x) - f-ciya raspred teor i praktich']);
xlabel('x');
ylabel('P(X<x)');
hold on
plot(x1,Fe,'r-');
hold off
%-----sлучайн величина-------------------
figure(2)
plot(x,'r*')
xlabel('n')
ylabel('sluch vel')
title('sluch vel')
%-------гистограмма----------------------
r=input('na skolko karmanov delit interval ')
figure(3);
hist(x,r);
ylabel('N * freq')
xlabel('values of sv')
title('Histogram sluch velich')
%----мат ожидание------------------------
y=2/3*a.^2+0.16*a;
disp(['теор мат ожид. =']);
mat_t=trapz(a,y)
disp(['практич. мат ожид. =']);
mat_pr=mean(x)
hist(x,r);
%---- dispersiya---------------------------
y=(a-mat_t).^2.*(2/3*a+0.16);
dis1=trapz(a,y)
dis2=cov(x)
%-----------доверительный интерв---------
s=std(x);
st=sqrt(0.1502);
aa=input('vvedi urov dover: a=');
za=erfinv(aa)*sqrt(2);
delta=(za/sqrt(N))*st;
disp(['Доверительный интервал от ',num2str(mat_pr-delta),' до ',num2str(mat_pr+delta)])
if N<=121,
zt=tinv((aa+1)/2,N-1);
delta2=(zt/sqrt(N))*s;
else
delta2=(za/sqrt(N))*s;
end
disp(['Уточнённый доверительный интервал от ',num2str(mat_pr-delta2),' до ',num2str(mat_pr+delta2)])
%--------хи квадрат---------------------
[nu,xn]=hist(x,r);
a=0:1.5/r:1.5;
F=Fx(a);
for i=2:r
p(i-1)=F(i)-F(i-1);
end
p(r)=1-sum(p);
nt=N*p;
x1=(nu-nt).^2;
x2=x1./nt;
xi2=sum(x2);
disp([int2str(r-1),' степеней свободы' ])
disp(['xi2 = ', num2str(xi2)])
%----------омега квадрат----------------
x_sort=sort(x);
F=Fx(x_sort);
for i=1:r
w2(i)=(F(i)-(i-0.5)/r).^2+1/(12*r);
end
w=sum(w2);
disp(['w2 = ', num2str(w)])
%---------------------------------------
kk=0:1.5/r:1.5;
Ftr=Fx(kk);
Pt=(Ftr(2:r+1)-Ftr(1:r))*N;
Ck=kk(1:r)+1/r;
Pe=hist(x,Ck);
figure(5)
bar(Ck,Pt,1,'b')
title('Rasch hist (theor(blue) and exp(red))')
ylabel('N * freq')
xlabel('values of sv')
hold on
bar(Ck,Pe,0.8,'r')
hold off
Fx
function yy=Fx(e);
yy=e.^2/3+0.16*e;
f
function xx=l2_1(q);
xx=2*q/3+0.16;
==========================================================================
Результаты:
Теор. матожид. =0,93 теор. дисперсия =0,1502
Практ. матожид. =0,9261 практ. дисперсия =0,1526
Интервал доверия а=0,95
Доверительный интервал от 0,88103 до 0,97119
Уточненный доверительный интервал от 0,88067 до 0,97155
5 степеней свободы
хи квадрат 5,9237
омега квадрат 0,4316