0

我有 12 个 mat 文件(每个月一个)需要单独用于计算。它们太大了,无法一次加载所有十二个。因此,我想调用第 1 个月,进行计算,调用第 2 个月,...#12。

我过去曾使用 .asc 文件完成此操作,但遇到了麻烦。垫文件。

我正在尝试以下操作:

matObj = matfile('tempOR_norm.mat')

matObj = 

  matlab.io.MatFile

  Properties:
      Properties.Source: 'C:\GIS_DATA\SNOW\Programs\SNOW\tempOR_norm.mat'
    Properties.Writable: false                                           
         tempOR_01_norm: [1424x1817 double]                              
         tempOR_02_norm: [1424x1817 double]                              
         tempOR_03_norm: [1424x1817 double]                              
         tempOR_04_norm: [1424x1817 double]                              
         tempOR_05_norm: [1424x1817 double]                              
         tempOR_06_norm: [1424x1817 double]                              
         tempOR_07_norm: [1424x1817 double]                              
         tempOR_08_norm: [1424x1817 double]                              
         tempOR_09_norm: [1424x1817 double]                              
         tempOR_10_norm: [1424x1817 double]                              
         tempOR_11_norm: [1424x1817 double]                              
         tempOR_12_norm: [1424x1817 double] 

但是我如何遍历这个列表呢?

我需要一些类似的东西

input = load(matObj(i))

但这给了我:

MatFile 对象是标量的。使用语法 objName.varName(indices) 访问变量。

任何见解将不胜感激!

-谢谢-

4

2 回答 2

1

明白了(在Loop 的帮助下加载和保存 .mat 文件):

它是这样的......

 for i = 1:12;
        if (i <= 9)
            filename = ['tempOR_0', int2str(i), '_norm.mat'];
        else    filename = ['tempOR_', int2str(i), '_norm.mat'];
        end
 end

load(filename);
于 2012-07-26T23:45:18.847 回答
0

如果您甚至不知道文件名 trydir()命令,如果我没记错的话,您可以指定要返回的文件扩展名dir(./*.mat). 您可以从http://www.mathworks.com.au/help/techdoc/ref/dir.html找到更多内容

于 2012-07-27T02:01:43.507 回答