%% Exercice 1
% loi uniforme 
N1=10;
E1=rand([1,N1]);
E1S=sort(E1);
Y1=[1:1:N1]/N1;
stairs([0 E1S],[0 Y1]);
hold on;
X1=[0:0.1:1];
plot(X1,X1,'r')
% Ecart maximum
max=0;
V11=abs(E1S-Y1);
V12=abs(E1S-[0:1:N1-1]/N1);
V1=[V11,V12];
W1=sort(V1);
% on cherche l'indice ou est atteint le maximum
j=0;
l=1;
while j==0
    if V1(l)==W1(length(W1))
        j=l;
    else l=l+1;
    end
end
if j<=N1
    plot([E1S(j) E1S(j)],[j/N1 E1S(j)],'g')
else
    plot([E1S(j-N1) E1S(j-N1)],[(j-N1-1)/N1 E1S(j-N1)],'g')
end   
    
%%
% loi normale 
N2=10;
E2=randn([1,N2]);
E2S=sort(E2);
Y2=[1:1:N2]/N2;
stairs([0 E2S],[0 Y2]);
hold on;
X2=[-2:0.1:2];
YX2=pnorm(X2);
plot(X2,YX2,'r')
% Ecart maximum
max=0;
V21=abs(pnorm(E2S)-Y2)
V22=abs(pnorm(E2S)-[0:1:N2-1]/N2)
V2=[V21,V22]
W2=sort(V2)
% on cherche l'indice ou est atteint le maximum
j=0;
l=1;
while j==0
    if V2(l)==W2(length(W2))
        j=l;
    else l=l+1;
    end
end
if j<=length(V21) 
    plot([E2S(j) E2S(j)],[j/N2 pnorm(E2S(j))],'g')
else
    plot([E2S(j-N2) E2S(j-N2)],[(j-N2-1)/N2 pnorm(E2S(j-N2))],'g')
end  


%%
% m??lange
N3=100;
E3=[];
for i=1:N3
    if mod(i,2)==1
        E3(i)=rand(1);
    else
        E3(i)=randn(1);
    end
end
E3S=sort(E3);
Y3=[1:1:N3]/N3;
stairs([0 E3S],[0 Y3]);
hold on;
% on compare ?? la loi normale centr??e r??duite
X3=[-2:0.1:2];
YX3=pnorm(X3);
plot(X3,YX3,'r')
% Ecart maximum
max=0;
V31=abs(pnorm(E3S)-Y3)
V32=abs(pnorm(E3S)-[0:1:N3-1]/N3)
V3=[V31,V32]
W3=sort(V3)
% on cherche l'indice ou est atteint le maximum
j=0;
l=1;
while j==0
    if V3(l)==W3(length(W3))
        j=l;
    else l=l+1;
    end
end
if j<=length(V31) 
    plot([E3S(j) E3S(j)],[j/N2 pnorm(E3S(j))],'g')
else
    plot([E3S(j-N3) E3S(j-N3)],[(j-N3-1)/N3 pnorm(E3S(j-N3))],'g')
end  
