您的位置:首页 > 编程语言 > MATLAB

matlab路径操作实例(真正实现data和code分离)

2015-01-29 11:33 447 查看
假设data文件夹和work文件夹并列,我的所有数据存放于data文件夹里面,我的代码存放于code文件夹里面

1、在code文件夹里面写代码获取data文件夹下所有文件

<span style="font-family:Times New Roman;font-size:18px;">mainpath=mfilename('fullpath');
index=strfind(mainpath,'\');
mainpath=[mainpath(1:index(end-1)) 'data\']
filename=dir([mainpath '*']);</span>


2、mkdir、save和load函数的高级运用

<span style="font-family:Times New Roman;font-size:18px;">% 接上文 filename里面前两个条目是.和..,所以有效的文件是从第三个开始
for i=3:length(filename)    % 对循环读取每一个文件夹
    i
    data=[];
    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=func1(double(datause));   %  根据相关系数计算特征
            data=[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</span>


这里使用的mkdir函数和save函数都是带括号的形式,这样的话就可以把变量i的值给设定到路径里面。save函数第一个参数是路径,后面的是需要保存的变量名的字符形式。

<span style="font-family:Times New Roman;font-size:18px;">load(['id_' num2str(2),'/data'],'data','classType','run');</span>


load函数与save函数格式一样,不在叙述。

------------------

祝身体健康,万事如意

华电北风吹

天津大学计算机科学与技术学院

天津市卫津路92号

邮编: 300072

邮箱: 1194603539@qq.com
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐