function testchi2(x,nh,alpha) %function testchi2(x,nh,alpha) % % Test chi2 di adattamento della distribuzione % normale univariata ai dati % % x = vettore di osservazioni % nh = numero di intervalli del range (es. nh=10) % alpha = livello di sign. % n=length(x); [f,xm]=hist(x,nh); l=(max(x)-min(x))/(nh+1); xm=xm+l/2; m=mean(x); s=std(x); z=(xm-m)/s; p=normcdf(z); pn1=length(p); F=[p(1),p(2:pn1)-p(1:pn1-1)]; F=F*n; figure(1) plot(f),hold on;plot(F,'r'),hold off figure(2) histfit(x); chi2=sum((f-F).^2./F); chi2ref=chi2inv(1-alpha,pn1-3); [chi2,chi2ref] if (chi2>chi2ref), fprintf('reject normality hypothesis\n'), else fprintf('do NOT reject normality hypothesis\n'), end