
function [Z,CL,UCL,LCL] = ewmaw(X,lambda,L,n1)

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% questa function calcola i punti da disegnare sulla
% carta EWMA, la centerline e i limiti di controllo
% partendo dal vettore di dati X, da lambda, da L
% e dalla lunghezza n1 del vettore X
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

CL=mean(X(:,1)); % centerline ottenuta usando la 1a colonna di wafer3
SD=std(X(:,1));    % SD del vettore X

X2=X(:,2); %i p.ti da disegnare sulla carta dipendono dalla colonna 2
           % di wafer3

Z(1)=CL; %non andrebbe bene prendere la centerline come valore iniziale
         %ci sarebbe da fare la media su dati precedenti
for i=2:n1+1
        Z(i)=lambda*X2(i-1)+(1-lambda)*Z(i-1); 
        sigma=SD*sqrt(lambda/(2-lambda)*(1-(1-lambda)^(2*i)));
        UCL(i)=CL+L*sigma;
        LCL(i)=CL-L*sigma;
end
Z=Z(2:n1+1);
UCL=UCL(2:n1+1);
LCL=LCL(2:n1+1);

return