我有一个mat文件,加载后会给我这样的东西:
train0:[1200x300] TRAIN1:[1450x300] 。 。 。 。 。 。 trainN:[NX300]
我想做的是以火车+“i”的方式遍历每个矩阵,其中i = 0到N 并创建值为i的NX1矩阵。这里N将是每个列车矩阵中的行数。
答案 0 :(得分:1)
尝试将文件加载到sturct
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文件加载到struct中允许您将所有加载的矩阵作为struct字段进行操作。