作为大学项目的一部分,我必须执行以下操作:使用包含 14 个不同文件夹(14 个不同主题)的数据库,并且在每个文件夹中,我们有 12 个不同活动的 5 次试验,存储在 .mat 文件中。试验文件包含 6 列(我只想要 3 列)和不同大小的行。现在我想将每个主题的 5 个试验连接到一个 .mat 文件夹中,并将所有数据库存储为以下格式:主题 x 活动 x 试验。
我写了以下代码:
InPath_data = 'C:\Users\olga\Desktop\USC-HAD\';
listname = [InPath_data, 'Subjects.txt'];
folder_subject = textread(listname,'%s','delimiter','\n','whitespace','');
listname = [InPath_data,'ActivityTrial.txt'];
files_act_tr = textread(listname,'%s','delimiter','\n','whitespace','');
fname = [InPath_data,folder_subject{1},'\',files_act_tr{1},'.mat'];
tmp1= [];
k=1;
for i=1:length(folder_subject)
for j=1:length(files_act_tr)
fname = [InPath_data,folder_subject{i},'\',files_act_tr{j},'.mat'];
tmp= load(fname);
q=tmp.sensor_readings( : ,(1:3));
tmp1= cat(1,tmp1,q);
clear q;
if mod(j,5)==0
data(j-4*k,:,:)=tmp1;
k=k+1;
tmp1=[];
end
end
end
现在当清除 tmp1 我不能使用循环。我怀疑使用单元阵列是做我想做的事情的关键,但我以前从未使用过它们,所以......任何帮助将不胜感激!:)