MATLAB Function Reference | ![]() ![]() |
表示
f = getfield(s,'field') f = getfield(s,{i,j},'field',{k})
詳細
f = getfield(s,'field'),
は、s
が 1行1列の構造体のとき、指定のフィールドの内容を出力します。これは、シンタックスf = s.field
に等価です。
f = getfield(s,{i,j},'field',{k})
は、指定のフィールドの内容を出力します。これは、シンタックスf = s(i,j).field(k)
に等価です。すべてのサブスクリプトは、セル配列として渡されなければなりません。つまり、(上記の{i,j}
や {k}
のように)中括弧で囲まなければなりません。フィールドの参照は、文字列として渡します。
例題
mystr(1,1).name = 'alice'; mystr(1,1).ID = 0; mystr(2,1).name = 'gertrude'; mystr(2,1).ID = 1
が与えられたとき、コマンド f = getfield(mystr,{2,1},'name')
は、以下を出力します。
f = gertrude
すべての nameフィールド(または他のフィールド)の内容をリストするためには、ループ内で getfield
を呼び出してください。
for i = 1:2 name{i} = getfield(mystr,{i,1},'name'); end name name = 'alice' 'gertrude'
参考
![]() | getenv | getframe | ![]() |