我需要将目录中的所有数据加载到八度(无论它们的文件名是什么),以便将来自不同文件的数据加载到单独的矩阵中。我怎么能这样做?
我尝试使用dir
和glob
,然后使用for
循环,但我不知道如何从单元格中获取矩阵。
答案 0 :(得分:7)
我不是100%肯定你的问题。当你提到从单元格中获取矩阵时,我猜你的问题是从readir
和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}
行使用结构。
答案 1 :(得分:0)
carandraug的答案很棒,我只想指出在某些Octave版本中,负载线可能需要写成:
load (filelist{ii})