我需要将目录中的所有数据加载到 octave 中(无论它们的文件名是什么),以便将来自单独文件的数据加载到单独的矩阵中。我怎样才能做到这一点?
我尝试使用dir
然后glob
使用for
循环,但我不知道如何从单元格中获取矩阵。
我不是 100% 确定你的问题。当您提到从单元格中获取矩阵时,我猜您的问题是从readir
and的输出中提取文件名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}
。
carandraug 的回答很好,我只想说明在某些 Octave 版本中,负载线可能需要写成:
load (filelist{ii})