0
名前付きフィールドを持つ構造体を出力するh5readを使用してHDF5ファイルからデータをインポートしています。現在、これらのフィールドのサイズを取得しようとしています。特定のフィールド名を持つループを使用して構造体からデータを抽出する
for n = 1:namesSizeH5
currentName = strcat('h5(1).',namesH5((0+n):n));
currentSize = size(currentName);
disp('currentName is');
disp(currentName);
disp('currentSize is');
disp(currentSize);
end
これを実行すると、それが正しく反復ごとに現在のフィールド名をつかむだけでなく、ために各フィールドを取得するための正しい構造体のコールを構築します。しかし、currentSizeは常に構造体のサイズだけを返します。 私はこれを正しい呼び出しでハードコーディングしてテストしましたが、これはうまくいきますが、ループ中に壊れてしまいます。
'size'は、文字列のサイズを返します'ので、文字列を返しますstrcat'。私は[正しい構文](http://www.mathworks.com/help/matlab/matlab_prog/generate-field-names-from-variables.html)を試してみることをお勧めします。 – excaza