2015-11-05 66 views

回答

2
files=dir('*.mat') %// load all filenames from the directory ending on .mat 
for ii = numel(files):-1:1 %// let the loop run backwards 
    load(files(ii).name); 
    A(:,:,ii) = CM; %// assumed they are actually all equivalently called CM 
end 

dir命令得到所有文件在pwd(当前工作目录)的列表。 for循环向后运行,以便将存储变量A初始化为其最大大小,从而提高效率。在循环中加载文件,然后将其存储在A中。最后A将是[264 264 79]阵列。

+0

谢谢,但它给我一个错误: 警告:元素的数量超过最大火石2^53-1。 结果可能不准确。 警告:FOR循环索引太大。截断为281474976710655. 多个结构元素的字段引用后跟 更多引用块是错误的。 –

+1

显然你的CM不像一个简单的数组那么简单。请加载一个到你的工作区并调用'whos(CM)',这样我们就可以看到里面有什么,因为它不是一个简单的数组。 – Adriaan

+2

可能是,这段代码碰到了一些你不打算加载的mat文件。你能否检查'文件'只包含预期的mat文件? – Daniel