load Feretface
NumOfClass =120;
NumPerClass=6;
Data=Data(:,1:NumOfClass*NumPerClass);
Data=Data/256;
[rowData,colData] = size(Data);
K=3;
test=3;
%imresize image
for i=1:colData
TempData=Data(:,i);
TempData=reshape(TempData,112,92);
TempData=imresize(TempData,[112/4,92/4],'nearest');
TempData=TempData(:);
DataNew(:,i)=TempData;
end
rnd=999999;
elem=rnd*ones(test,1); % I is supposed that the database has less than 999999 images per person.
for c=1:test
while find(rnd == elem | rnd>NumPerClass),
rnd = floor(1+(10*rand)*(NumPerClass-1)/9); % Ramdomly choose testing elements.
end
elem(c)=rnd;
end
sizetrain = [size(Data,1) size(Data,2)-NumOfClass*length(elem)];
Xbasis=zeros(sizetrain);
sizetest = [size(Data,1) NumOfClass*length(elem)];
Xtest =zeros(sizetest);
d=1;
e=1;
for c=1:size(Data,2),
if isempty(find(mod(c,NumPerClass)==mod(elem,NumPerClass))),
Xbasis(:,d) = Data(:,c);
d=d+1;
else
Xtest(:,e) = Data(:,c);
e=e+1;
end
end
W=lda(Xbasis,3,120);
Ytrain = W'*Xbasis ;
Ytest= W'*Xtest;
classification = classif(Ytrain, Ytest);
stest=3;
strain=3;
rate=success(classification, stest, strain)