1

我有一个垫子文件,加载时会给我这样的东西:

火车0:[1200x300] 火车1:[1450x300]。. . . . . 火车N:[Nx300]

我想要做的是以像 train+"i" 这样的方式遍历每个矩阵,其中 i = 0 到 N,并创建一个值为 i 的 NX1 矩阵。这里 N 将是每个训练矩阵中的行数。

4

1 回答 1

1

尝试将文件加载到结构中

ld = load(matfilename);
numRow = structfun( @(x) size(x,1), ld );

更复杂的方法可能是:

ld = load(matfilename);
matNames = fieldnames( ld );
numRows = zeros( 1, numel(matNames) );
for fi = 1:nueml(matNames)
    tkn = regexp( matNames{fi}, '^train(\d+)$', 'tokens', 'once' );
    ii = str2double( tkn{1} );
    numRows(ii) = size( ld.(matNames{fi}), 1 );
end

无论如何,将 mat 文件加载到结构中允许您将所有加载的矩阵作为结构字段进行操作。

于 2012-11-24T21:23:11.370 回答