MATLAB批量调入数据文件的方法.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
一、文件格式调用 (1)、数据文件中无数据头(数据头指数据文件打开后数字内容的上方有解释或标识文字)时,用load(),有数据头时用importdata().(数据中间需连续) (2)、直接调入单个数据文件: 如- A=load(D:\XXX\YYY\ZZZ\example.dat) B=importdata(D:\XXX\YYY\ZZZ\example.dat) C=B.data 二、批量调入数据的统一前导格式 (1)一般数据文件,结尾为1、2…… 如: clear clc format long %定义格式 a=dir; %显示在当前文件下的所有文件 b=struct2cell(a); %把a的结构转化为单元阵体 c=b(1,:); %取b单元阵的第一行 [x,y]=size(c); m=0; for k=1:y if strfind(c{k},.dat) %在单元阵体的每个元素中,找出是否与‘.dat’匹配项,此处判断是否为真,若真,转下行 m=m 1; [M{m},N{m}]=importdata(c{k}); %把单元阵体中每个元胞对应项赋值给M{m},M{n},此处前分别对应有如:data: [121x2 double]; textdata: {1 1 121 |****|}(作者导文件中的内容), %而后者为空。其实写成一个输出也可以,当有三个输出时,第三个=1,超过三个出错。 end end for t=1:m A{t}=M{t}.data; %把M{t}.data的数据赋于矩阵A{t},此处A{t}为对应t值下的矩阵。 %如果原data文件中没有题头,即字符部分,刚直接调入,即A{t}=M{t} end (2)文件名字结尾含有*01,……,如 abc01---abc09,abc10---abc30 如: clear clc % 下面用于求文件中dat文件的个数,便于后序的调入于排列。 format long %定义格式 a=dir; %显示在当前文件下的所有文件 b=struct2cell(a); %把a的结构转化为单元阵体 c=b(1,:); %取b单元阵的第一行 [x,y]=size(c); %读入原始数据(如共30个,从abc01 - - abc30),并编号 m=0;n=0; for k=1:y if strfind(c{k},abc0) strfind(c{k},.dat) %在单元阵体的每个元素中,找出是否与‘.dat’匹配项,此处判断是否为真,若真 ,转下行 m=m 1; %此处用于记录DAT文件的个数 end if strfind(c{k},abc) strfind(c{k},.dat) %在单元阵体的每个元素中,找出是否与‘.dat’匹配项,此处判断是否为真,若真 ,转下行 n=n 1; %此处用于记录DAT文件的个数 end end %从01-09、10-30依次调入,并重新编号。 for t=1:9 M{t}=[abc0 num2str(t) .dat]; MM{t}=importdata(M{t}); A{t}=MM{t}.data; end for t=10:n N{t}=[abc num2str(t) .dat]; NN{t}=importdata(N{t}); A{t}=NN{t}.data; end

文档评论(0)

勤能补拙 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档