-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathloaddata.m
More file actions
40 lines (37 loc) · 1002 Bytes
/
loaddata.m
File metadata and controls
40 lines (37 loc) · 1002 Bytes
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
function [file] = loaddata(filename, nskip, nvars, cond)
%cond is a function
file.name = filename;
fp = fopen(filename, 'r');
for ii=1:1:nskip
sline=fgetl(fp);
end
varName={};
if nskip>0
for jj=1:nvars
varName{jj} = sscanf(sline, '%s', 1);
end
end
rflag = nvars;fdata = [];
sline = fgetl(fp);
while length(sline)>(nvars*2-1);
[ftemp, rflag] = mysscanf(sline, '%g', nvars);
if nargin<4 || cond(fdata, ftemp);
fdata = [fdata, ftemp];
end
sline = fgetl(fp);
end
fdata = fdata';
numStep = length(fdata(:,1));
file.varName = varName;
file.dt = (fdata(numStep, 1) - fdata(1, 1))/(numStep-1);
file.data = fdata;
fclose(fp);
end
function [data flag] = mysscanf(sline, format, nvars)
for ii=1:1:length(sline)
if sline(ii)==','
sline(ii) = ' ' ;
end
end
[data flag] = sscanf(sline, format, nvars);
end