2015-11-05 64 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