function stoke(ps,pserr,summ,sigsum2,hwpsec)

t=size(ps);
nn=t(3);


for i=1:nn
    theta=hwpsec((i-1)*6+1:i*6);
    the=theta*pi/180;
    A=[0 0 0 0 0 0 0 0 0];
    B=A;C=A;D=A;E=A;
   
    for n=1:9
      for m=1:6
        A(n)=A(n)+ps(m,n,i)*sin(4*the(m))/pserr(m,n,i)^2;
        B(n)=B(n)+ps(m,n,i)*cos(4*the(m))/pserr(m,n,i)^2;
        C(n)=C(n)+(sin(4*the(m))/pserr(m,n,i))^2;
        D(n)=D(n)+(cos(4*the(m))/pserr(m,n,i))^2;
        E(n)=E(n)+cos(4*the(m))*sin(4*the(m))/pserr(m,n,i)^2;
      end
    sigA2(n)=C(n);
    sigB2(n)=D(n);
    q(n,i)=(B(n)*E(n)-A(n)*D(n))/(E(n)^2-C(n)*D(n));
    u(n,i)=(E(n)*A(n)-B(n)*C(n))/(E(n)^2-C(n)*D(n));
    sigq2(n,i)=sigA2(n)*(D(n)/(E(n)^2-C(n)*D(n)))^2+sigB2(n)*(E(n)/(E(n)^2-C(n)*D(n)))^2;
    sigu2(n,i)=sigA2(n)*(E(n)/(E(n)^2-C(n)*D(n)))^2+sigB2(n)*(C(n)/(E(n)^2-C(n)*D(n)))^2;
    isigq2(n,i)=1/sigq2(n,i);
    isigu2(n,i)=1/sigu2(n,i);
    end
end
%q
%isigq2(n,:)
save q
save u
save sigq2
save sigu2
for n=1:9
    qq(n)=q(n,:)*isigq2(n,:)'/sum(isigq2(n,:));
    sigqq2(n)=1/sum(isigq2(n,:));
    uu(n)=u(n,:)*isigu2(n,:)'/sum(isigu2(n,:));
    siguu2(n)=1/sum(isigu2(n,:));
    sq(n)=qq(n)/summ(n);
    sigsq2(n)=sq(n)^2*(sigqq2(n)/qq(n)^2+sigsum2(n)/summ(n)^2);
    su(n)=uu(n)/summ(n);
    sigsu2(n)=su(n)^2*(siguu2(n)/uu(n)^2+sigsum2(n)/summ(n)^2);
end
save sq
save su
save sigsq2
save sigsu2
save qq
save uu
save sigqq2
save siguu2