error problem with extracting data
Ältere Kommentare anzeigen
Hi everyone.
I'm very glad to join you on this incredible community...
I'm trying to write a program to training and testing database for my machine learning project.
in first step I wrote a m-file to export files.
here is the code:
function erpsplit(indir)
d = dir(indir);
filelist = {};
datadirection = {};
classname = {'dislike','like'};
observations = {};
for i = 1:length(d)
a = strcmp(d(i).name,classname{1});
b = strcmp(d(i).name,classname{2});
p = true;
q = true;
for m = 1:length(a)
p = p & a(1,m);
end
for m = 1:length(b)
q = q & b(1,m);
end
if (d(i).isdir == 0)
continue;
else if (p | q)
datadirection = cat(2,datadirection,{[indir '\' d(i).name]});
end
end
for k = [1,2]
d = dir(datadirection{k});
for i = 3:length(d)
if (d(i).isdir == 0)
filename = sprintf('%s\\%s',datadirection{k},d(i).name);
filelist{i-2,k} = filename;
end
end
end
for k = [1,2]
for i = 1:16
for j = 1:length(filelist)
data = load(filelist{j,k});
variables = fields(data);
observations{j,i,k} = data.(variables{1});
observations{j,i,k} = observations{j,i,k}(i,:);
end
end
end
s = 'Output Files';
mkdir(indir,s);
s = [indir '\' s];
for k = [1,2]
mkdir(s,classname{k});
s = [s '\' classname{k}];
for i = 1:16
str = ['ch#' num2str(i)];
mkdir(s,str);
s = [s '\' str];
for j = 1:length(filelist)
str = [classname{k} '_subject#' num2str(j) '_ch#' num2str(i) '.xls'];
var = observation{j,i,k};
s = [s '\\' str];
save(s,'var');
end
end
end
end
but an error occured during decoding the following line:
d = dir(datadirection{k});
it says:
Index exceeds array bounds.
Error in erpsplit (line 32)
d = dir(datadirection{k});
but I tracing the code and the "datadirection" cell looks just fine.
Thanks everyone for assisting!
Akzeptierte Antwort
Weitere Antworten (1)
Hossein Shahbodaghkhan
am 13 Jan. 2019
Kategorien
Mehr zu Power and Energy Systems finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!