ロードすると次のようなファイルが得られるマットファイルがあります。
列車0:[1200x300] 列車1:[1450x300] . . . . . . trainN:[Nx300]
私がやりたいのは、train+"i" (i = 0 から N) のような方法で各行列をトラバースし、i の値を持つ NX1 行列を作成することです。ここで、N は各トレーニング行列の行数です。
ロードすると次のようなファイルが得られるマットファイルがあります。
列車0:[1200x300] 列車1:[1450x300] . . . . . . trainN:[Nx300]
私がやりたいのは、train+"i" (i = 0 から N) のような方法で各行列をトラバースし、i の値を持つ NX1 行列を作成することです。ここで、N は各トレーニング行列の行数です。
ファイルを構造体にロードしてみてください
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 ファイルを構造体にロードすると、ロードされたすべての行列を構造体フィールドとして操作できます。