-
Notifications
You must be signed in to change notification settings - Fork 1
/
read_data_T3.m
43 lines (38 loc) · 1.04 KB
/
read_data_T3.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
function out=read_data_T3(task,dimen, pathname, gt_flag)
fid=fopen(fullfile(pathname,['task',num2str(task),'.txt']));
data=[];
if gt_flag==1
fid2=fopen(fullfile(pathname,['ref',num2str(task),'.txt']));
gt=[];
else fid2=fid1;
end
i=0;
while ~feof(fid) && ~feof(fid2)
line=fgetl(fid);
D=str2num(line);
if gt_flag==1
line2=fgetl(fid2);
F=str2num(line2);
end
if D(1)==dimen
i=i+1;
traj=reshape(D(2:end),[],D(1));
displa=traj(:,:)-traj(1,:); % set initial point to 0
displa0=displa(1+1:end,:) - displa(1:end-1,:); % calculate displacement (tlag=1)
displa0=displa0./repmat(std(displa0),size(displa0,1),1); % standardize displacements (tlag=1)
d=sum((displa0).^2,2);
% d=sum(diff(reshape(D(2:end),[],D(1))).^2,2);
data=[data; d'];
if gt_flag==1
gt=[gt; F(2:end)'];
end
end
clear d traj displa displa0 line D line2 F
end
fclose(fid);
fclose(fid2);
if gt_flag==1
out.gt=gt;
end
out.data=data;
out.traj_numb=i;