MATLAB Function Reference | ![]() ![]() |
表示
s = setfield(s,'field',v) s = setfield(s,{i,j},'field',{k},v)
詳細
s = setfield(s,'field',v),
は、s
が 1行1列の構造体のとき、指定したフィールドの内容を値 v
に設定します。これは、s.field = v
と等価です。
s = setfield(s,{i,j},'field',{k},v)
は、指定したフィールドの内容を値 v
に設定します。これは、s(i,j).field(k) = v
と等価です。すべてのサブスクリプトはセル配列として渡され、すなわち、中括弧で囲まなければなりません(上記の {i,j}
や {k}
と同様です)。参照フィールドは文字列として渡してください。
例題
mystr(1,1).name = 'alice'; mystr(1,1).ID = 0; mystr(2,1).name = 'gertrude'; mystr(2,1).ID = 1
つぎに、mystr = setfield(mystr,{2,1},'name','ted')
を実行します。
mystr = 2x1 struct array with fields: name ID
参考
![]() | setdiff | set (serial) | ![]() |