構造体フィールドの名前に、forループで与えられた数値である貴重なものを割り当てようとしています。たとえば、次のようにしたいと思います。
A.bx。ここで、A は構造体の名前 (= char)、b はフィールド名の一部 (= char)、x は for ループによって与えられる値です。A と b は固定または事前定義されています。
コメントをお待ちしております。
構造体フィールドの名前に、forループで与えられた数値である貴重なものを割り当てようとしています。たとえば、次のようにしたいと思います。
A.bx。ここで、A は構造体の名前 (= char)、b はフィールド名の一部 (= char)、x は for ループによって与えられる値です。A と b は固定または事前定義されています。
コメントをお待ちしております。
genvarname(str,list)
[a string] に有効な変数名を生成しますstr
。各反復値str
は除外リストとは異なります
そして fieldname(S)
、すでに構造内にあるフィールドのすべての名前のリストを返しますS
(これを使用して除外リストを作成します)
必要なもののコードは次のとおりです。
A = struct ();
for i = 1:5
A.(genvarname ('b', fieldnames (A))) = i;
end
1. 2.
について読むgenvarname(str,list)
fieldnames(S)
シンプルを使用して構造体フィールドに名前を付けることができますsprintf
A = struct()
for ii = 1:10
fn = sprintf('b%d', ii );
A.(fn) = ii; % use the struct
end
私は、このタイプのフィールド命名よりも配列またはセルを使用することを提案したセバスチャンに同意する傾向があります。セルと配列に加えて、containers.Map
非常に用途が広く便利であることがわかるかもしれません。