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=[];
    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

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


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

load(['id_' num2str(2),'/data'],'data','classType','run');

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

祝身体健康,万事如意

华电北风吹

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

天津市卫津路92号

邮编: 300072

邮箱: 1194603539@qq.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值