Can anyone tell me how this code works?
clear
numofea=3;
subjectnum=10;
feanum=6;
featuredim=feanum*numofea;
windowsize=4;
numperfold=round(300-windowsize+1);
%datasize(subjectnum*numperfold,featuredim)=0;
alertfeasize(subjectnum*numperfold,featuredim)=0;
fatiguefeasize(subjectnum*numperfold,featuredim)=0;
subid0(subjectnum)=0;
y(subjectnum*2*numperfold)=0;
y(subjectnum*numperfold+1:end)=1;
foldidx(5*numperfold)=0;
%freqc=90;
filename={
% 'C:\Users\Adithya\Desktop\Eye tracking data\Li Rui Lin\eye_data_task_1 (5).mat',
% 'C:\Users\Adithya\Desktop\Eye tracking data\Li Rui Lin\eye_data_task_4.mat',
% 'C:\Users\Adithya\Desktop\Eye tracking data\Yuan Liqiang\eye_data_task_1 (5).mat',
% 'C:\Users\Adithya\Desktop\Eye tracking data\Yuan Liqiang\eye_data_task_4.mat',
% 'C:\Users\Adithya\Desktop\Eye tracking data\Adi\eye_data_task_1 (5).mat,
% 'C:\Users\Adithya\Desktop\Eye tracking data\Adi\eye_data_task_3.mat',
% 'C:\Users\Adithya\Desktop\Eye tracking data\Yu Lian\eye_data_task_1 (5).mat',
% 'C:\Users\Adithya\Desktop\Eye tracking data\Yu Lian\eye_data_task_4.mat',
% 'C:\Users\Adithya\Desktop\Eye tracking data\Subject 9\eye_data_task_1 (5).mat',
% 'C:\Users\Adithya\Desktop\Eye tracking data\Subject 9\eye_data_task_4.mat',
% 'C:\Users\Adithya\Desktop\Eye tracking data\Subject 11\eye_data_task_2.mat',
% 'C:\Users\Adithya\Desktop\Eye tracking data\Subject 11\eye_data_task_4.mat',
% 'C:\Users\Adithya\Desktop\Eye tracking data\Subject 13\eye_data_task_3.mat',
% 'C:\Users\Adithya\Desktop\Eye tracking data\Subject 13\eye_data_task_2.mat',
% 'C:\Users\Adithya\Desktop\Eye tracking data\Subject 15\eye_data_task_1 (5).mat',
% 'C:\Users\Adithya\Desktop\Eye tracking data\Subject 15\eye_data_task_2.mat',
% 'C:\Users\Adithya\Desktop\Eye tracking data\Subject 17\eye_data_task_1 (5).mat',
% 'C:\Users\Adithya\Desktop\Eye tracking data\Subject 17\eye_data_task_4.mat',
% 'C:\Users\Adithya\Desktop\Eye tracking data\Subject 19\eye_data_task_1 (5).mat',
% 'C:\Users\Adithya\Desktop\Eye tracking data\Subject 19\eye_data_task_2.mat'
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
'C:\Users\Adithya\Desktop\Eye tracking data\Li Rui Lin\eye_data_task_1 (5).mat',
'C:\Users\Adithya\Desktop\Eye tracking data\Li Rui Lin\eye_data_task_4.mat',
'C:\Users\Adithya\Desktop\Eye tracking data\Yuan Liqiang\eye_data_task_1 (5).mat',
'C:\Users\Adithya\Desktop\Eye tracking data\Yuan Liqiang\eye_data_task_4.mat',
'C:\Users\Adithya\Desktop\Eye tracking data\Adi\eye_data_task_1 (5).mat',
'C:\Users\Adithya\Desktop\Eye tracking data\Adi\eye_data_task_4.mat',
'C:\Users\Adithya\Desktop\Eye tracking data\Yu Lian\eye_data_task_1 (5).mat',
'C:\Users\Adithya\Desktop\Eye tracking data\Yu Lian\eye_data_task_4.mat',
'C:\Users\Adithya\Desktop\Eye tracking data\Subject 9\eye_data_task_1 (5).mat',
'C:\Users\Adithya\Desktop\Eye tracking data\Subject 9\eye_data_task_4.mat',
'C:\Users\Adithya\Desktop\Eye tracking data\Subject 11\eye_data_task_1 (5).mat',
'C:\Users\Adithya\Desktop\Eye tracking data\Subject 11\eye_data_task_4.mat',
'C:\Users\Adithya\Desktop\Eye tracking data\Subject 13\eye_data_task_1 (5).mat',
'C:\Users\Adithya\Desktop\Eye tracking data\Subject 13\eye_data_task_4.mat',
'C:\Users\Adithya\Desktop\Eye tracking data\Subject 15\eye_data_task_1 (5).mat',
'C:\Users\Adithya\Desktop\Eye tracking data\Subject 15\eye_data_task_4.mat',
'C:\Users\Adithya\Desktop\Eye tracking data\Subject 17\eye_data_task_1 (5).mat'
'C:\Users\Adithya\Desktop\Eye tracking data\Subject 17\eye_data_task_4.mat'
'C:\Users\Adithya\Desktop\Eye tracking data\Subject 19\eye_data_task_1 (5).mat',
'C:\Users\Adithya\Desktop\Eye tracking data\Subject 19\eye_data_task_4.mat'
};
for tt=1:subjectnum
f1=filename{2*tt-1};
f2=filename{2*tt};
load(f1)
%%%%%%%%%%%%%%%%%%%%%
if tt>0
eyeData=eyeData.data;
end
%%%%%%%%%%%%%%%%%%%%%
% %%%%%%%%%%%
%
% cleanedeye=0;
% cleanedeye(size(eyeData,1),size(eyeData,2))=0;
%
% validsizenum=1;
% for i=1:size(eyeData,1)
% cv=eyeData(i,17:18);
% dv=cv<0;
% if ~any(dv(:))
% cleanedeye(validsizenum,:)=eyeData(i,:);
% validsizenum=validsizenum+1;
% end
% end
%
% eyeData=cleanedeye(1:(validsizenum-1),:);
% %%%%%%%%%
timeidx=eyeData(:,1);
I=find(timeidx>(timeidx(end)-5*60));
sampledtime=timeidx(I);
sampledtime=sampledtime-sampledtime(1);
% eyedata0=eyeData(I,3:4); %11:12
% eyedata0(:,3:4)=eyeData(I,11:12);
eyedata0=eyeData(I,14:16); %11:12
for j=1:numperfold
tidx=find(sampledtime>(j-1) & sampledtime<(j-1+windowsize));
for k=1:numofea
eye1=eyedata0(tidx,k);
ap=statistical_fea(eye1);
alertfeasize((tt-1)*numperfold+j, ((k-1)*feanum+1):k*feanum)=ap(1:feanum);
end
subid0((tt-1)*numperfold+j)=tt;
end
load(f2)
%%%%%%%%%%%%%%%%%%%%%
if tt>0
eyeData=eyeData.data;
end
%%%%%%%%%%%%%%%%%%%%%
% %%%%%%%%%%%%
%
% cleanedeye=0;
% cleanedeye(size(eyeData,1),size(eyeData,2))=0;
%
% validsizenum=1;
% for i=1:size(eyeData,1)
% cv=eyeData(i,17:18);
% dv=cv<0;
% if ~any(dv(:))
% cleanedeye(validsizenum,:)=eyeData(i,:);
% validsizenum=validsizenum+1;
% end
% end
%
% eyeData=cleanedeye(1:(validsizenum-1),:);
%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%
timeidx=eyeData(:,1);
I=find(timeidx>(timeidx(end)-5*60));
sampledtime=timeidx(I);
sampledtime=sampledtime-sampledtime(1);
% eyedata0=eyeData(I,3:4);%11:12
% eyedata0(:,3:4)=eyeData(I,11:12);
eyedata0=eyeData(I,14:16); %11:12
for j=1:numperfold
tidx=find(sampledtime>(j-1) & sampledtime<(j-1+windowsize));
for k=1:numofea
eye1=eyedata0(tidx,k);
ap=statistical_fea(eye1);
fatiguefeasize((tt-1)*numperfold+j, ((k-1)*feanum+1):k*feanum)=ap(1:feanum);
end
end
end
featuredata=cat(1,alertfeasize,fatiguefeasize);
subid=cat(2,subid0,subid0);
featuredata(isnan(featuredata))=0;
save('C:\Users\Adithya\Desktop\Eye tracking data\Results','featuredata','subid','y')
function fea=statistical_fea(data)
N1=size(data,1);
m=mean(data);
sd=std(data,1);
difference=diff(data);
s=sum(abs(difference));
absm1=1/(N1-1)*s;
sdabsm1=absm1/sd;
for n=3:1:N1
out1(n-2,1)=data(n,1);
end
s_temp=0;
for n1=1:1:(N1-2)
temp=out1(n1)-data(n1);
s_temp=s_temp+abs(temp);
end
absm2=1/(N1-2)*s_temp;
sdabsm2=absm2/sd;
%higu=hitguchiFD(data', 32);
fea=[m,sd,absm1,sdabsm1,absm2,sdabsm2];
end
Best Answer