MATLAB Function Reference |
Syntax
f = getfield(s,'field') f = getfield(s,{i,j},'field',{k})
Description
f = getfield(s,'field'),
s
為 1-by-1 的結構,將傳回所指定欄位的內容。相當於 f = s.field
。
若結構 s
的維度大於 1-by-1, getfield
會傳回輸出值中的第一個值。也就是 s(m,n)
, getfield
將傳回 f
=
s(1,1).field
。
f = getfield(s,{i,j},'field',{k})
將傳回所特定欄位的內容,相當於 f = s(i,j).field(k)
。所有的下標必須像異質陣列般的傳遞,傳遞欄位的參考值也像字串般的傳遞。
Examples
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
如果想列出所有欄位的名稱(或其他),可以把 getfield
加入一個迴圈中,如下
for i = 1:2 name{i} = getfield(mystr,{i,1},'name'); end name name = 'alice' 'gertrude'
See Also
getenv | getframe |