the full code
V% Open files with face score and fingerprint score
fid1=fopen('finalfacescore1.txt','r');
fid2=fopen('finalfpscore1.txt','r');
fid3=fopen('weightdatabase1.txt','wt+');
facescore = [];
fpscore = [];
fcount=1;
count=100;
tscore=0.0;
success=0;
failure=0;
faceweight=0.9;
fpweight=0.1;
%fetch face score and fingerprint score in array
facescore=fscanf(fid1,'%f',900);
fpscore=fscanf(fid2,'%f',900);
% first loop for 30 persons
for i=1:30
 maxscore=0;
 person=count+i;
 totalscore = [];
 index=0;
 tempface = [];
 tempfp = [];
 faceweight=0.9;
 fpweight=0.1;
   % second loop for each person's score comparison
   for j=1:30
   tempface = [tempface facescore(fcount)];
   tempfp = [tempfp fpscore(fcount)];
   fcount=fcount+1;
   end
   k=1;
   % loop will go for nine times for nine different score
  combinations. If
   % person matches with index than success else failure and loop will
   % stop on finding success.
   while(k<=9)
   %call identifyperson function to get mathcing index
[index]=identifyperson(person,faceweight,fpweight,tempface,tempfp);
 if(person==index)
 fprintf(['in success \n']);
 success=success+1;
 str1='success';
fprintf(fid3,'%d \t %f \t %f \t %s \n',person,faceweight, fpweight,str1);
 break;
 else
 fprintf(['in failure\n']);
 failure=failure+1;
 %on failure in matching person with index weights are adjusted.
 %fpweight is increased by 0.1 and faceweight decreased by 0.1
   [fp,fw]=adjustweight(faceweight,fpweight);
   k=k+1;
   faceweight=fp;
   fpweight=fw;
   if(k==10)
   str1='failure';
   fprintf(fid3,'%d \t %f \t %f \t %s \n', person,
   faceweight, fpweight,str1);
   fprintf(['Failure to identify \n']);
   end
   end
   end
  end
  %calculate success rate
  successrate=(success/30)*100;
  fprintf(['Successful identification :' num2str(success) '\n']);
  str2='successrate=';
  %write success rate in file
  fprintf(fid3,'%s \t %f \n',str2,successrate);
  fclose(fid1);
  fclose(fid2);
  fclose(fid3);


