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

