从matlab中的单个目录加载多个文本文件

时间:2014-09-07 08:15:26

标签: matlab batch-processing

第一次来这里请温柔

所以基本的想法是我有只有txt文件的文件夹,每个文件大约有20000个点。我只希望每个人都有特定的时间间隔。

我有一个单独的文件,其范围看起来像这样                                                                                              。 2715 2955 1132 1372

每行代表我想要的范围

我想批量加载所有文件并导出每个文件的范围。我已经失去了太多的睡眠,请帮忙

    dirName = '*';              %# folder path
 files = dir( fullfile(dirName,'*.txt') );   %# list all *.xyz files
  files = {files.name}' ;                     %'# file names
 data = cell(numel(files),1)  ;              %# store file contents
 for u=1:numel(files)
   A=files{u}  ;   %# full path to file
 files{u};

   STR1 = A

  B=load(STR1);
  end

这是我在2天内提出的所有内容。我是matlab的新手 感谢

1 个答案:

答案 0 :(得分:0)

非常好的帮助是fscanf的http://www.mathworks.co.uk/help/matlab/ref/fscanf.html的matlab帮助。此外,在您的负载中,您没有路径。将for循环中的最后两行替换为:

STR1 = [dirName A]
fileID = fopen(STR1,'r');
formatSpec = '%f';
B = fscanf(fileID,formatSpec)

或尝试:

delim = ' '; 
nrhdr = 0; 
STR1 = [dirName A]
A = importdata(STR1, delim, nrhdr); 

A.data将是您的数据,我假设没有标题行。