function Mexp = doehlert(k) % Fonction génerant une matrice de doehlert pour k facteurs % % Mexp = doehlert(k) % % RC LESO-PB 8/12/95 % Calcul du nombre d'experience: N = k*(k+1)+1; % Preparation de la matrice Z Z = diag(ones(k+1,1),0); Z = Z - [ones(k+1,1),zeros(k+1,k)]; C=zeros((k+1)*k-k,k+1); i=1; for l=1:k+1 s=1; for m=2:k+1 ll=l+m-s; if (ll>(k+1)) ll=2; s=l+m-2; end if (l~=ll) C(i,:) = Z(l,:) - Z(ll,:); i=i+1; end end end Z=[Z;C]; % Preparation de la base orthogonale B B=-diag(ones(k,1),-1); for l=1:k for ll=l:k B(l,ll)=1/ll; end end B(:,k+1)=ones(k+1,1); % Calcul de la matrice d'experience Mexp X=Z*B; for l=1:k X(:,l)=X(:,l)*sqrt(l/2/(l+1)); end Mexp=X(:,1:k);