将所有数据文件加载到Octave中的目录中

时间:2012-10-22 19:33:31

标签: matrix directory octave

我需要将目录中的所有数据加载到八度(无论它们的文件名是什么),以便将来自不同文件的数据加载到单独的矩阵中。我怎么能这样做?

我尝试使用dirglob,然后使用for循环,但我不知道如何从单元格中获取矩阵。

2 个答案:

答案 0 :(得分:7)

我不是100%肯定你的问题。当你提到从单元格中获取矩阵时,我猜你的问题是从readirglob的输出中提取文件名。如果是这样,您可以使用filenames(1)获取名称(如果使用{}索引单元格数组,则会得到另一个单元格数组。)

filelist = readdir (pwd)
for ii = 1:numel(filelist)
  ## skip special files . and ..
  if (regexp (filelist{ii}, "^\\.\\.?$"))
    continue;
  endif
  ## load your file
  load filelist{ii}
  ## do your maths
endfor

如果文件名很好load,您可以在data.(filelist{ii}) = load filelist{ii}行使用结构。

答案 1 :(得分:0)

carandraug的答案很棒,我只想指出在某些Octave版本中,负载线可能需要写成:

load (filelist{ii})