首页 > 代码库 > matlab路径操作实战(真正实现data和code分离)
matlab路径操作实战(真正实现data和code分离)
假设data文件夹和work文件夹并列,我的所有数据存放于data文件夹里面,我的代码存放于code文件夹里面
1、在code文件夹里面写代码获取data文件夹下所有文件
mainpath=mfilename(‘fullpath‘);
index=strfind(mainpath,‘\‘);
mainpath=[mainpath(1:index(end-1)) ‘data\‘]
filename=dir([mainpath ‘*‘]);
2、mkdir、save和load函数的高级运用
% 接上文 filename里面前两个条目是.和..,所以有效的文件是从第三个开始
for i=3:length(filename) % 对循环读取每一个文件夹
i
data=http://www.mamicode.com/[];
classType=[];
run=[];
runid=1;
featureNum=[];
for j=1:4 % 读取每一个文件夹里面的数据
j
file=dir([mainpath filename(i).name ‘\*_‘ num2str(j) ‘.mat‘]);
dataread=importdata([mainpath filename(i).name ‘\‘ file.name]);
for k=1:40
datause=dataread(:,:,k);
newdata=http://www.mamicode.com/func1(double(datause)); % 根据相关系数计算特征
data=http://www.mamicode.com/[data;newdata];
classType=[classType;j];
run=[run;runid];
runid=runid+1;
end
end
str=[‘corr/id_‘ num2str(i-2)];
mkdir(str)
save([str ‘/data‘],‘data‘,‘classType‘,‘run‘);
end
这里使用的mkdir函数和save函数都是带括号的形式,这样的话就可以把变量i的值给设定到路径里面。save函数第一个参数是路径,后面的是需要保存的变量名的字符形式。
load([‘id_‘ num2str(2),‘/data‘],‘data‘,‘classType‘,‘run‘);
load函数与save函数格式一样,不在叙述。
matlab路径操作实战(真正实现data和code分离)