3

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

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

4

2 回答 2

7

我不是 100% 确定你的问题。当您提到从单元格中获取矩阵时,我猜您的问题是从readirand的输出中提取文件名glob。如果是这样,您可以获取名称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}

于 2012-10-27T18:15:44.683 回答
0

carandraug 的回答很好,我只想说明在某些 Octave 版本中,负载线可能需要写成:

load (filelist{ii})
于 2018-05-04T09:23:24.277 回答