MATLAB Function Reference |
Syntax
Description
f = getfield(s,'field'),
where s
is a 1-by-1 structure, returns the contents of the specified field. This is equivalent to the syntax f = s.field
.
If s
is a structure having dimensions greater than 1-by-1, getfield
returns the first of all output values requested in the call. That is, for structure array s(m,n)
, getfield
returns f = s(1,1).field
.
f = getfield(s, {i,j}, 'field', {k})
returns the contents of the specified field. This is equivalent to the syntax f = s(i,j).field(k)
. All subscripts must be passed as cell arrays -- that is, they must be enclosed in curly braces (similar to{i,j}
and {k}
above). Pass field references as strings.
Remarks
In many cases, you can use dynamic field names in place of the getfield
and setfield
functions. Dynamic field names express structure fields as variable expressions that MATLAB evaluates at run-time. See Technical Note 32236 for information about using dynamic field names versus the getfield
and setfield
functions.
Examples
Then the command f = getfield(mystr, {2,1}, 'name')
yields
To list the contents of all name (or other) fields, embed getfield
in a loop.
The following example starts out by creating a structure using the standard structure syntax. It then reads the fields of the structure, using getfield
with variable and quoted field names and additional subscripting arguments.
class = 5; student = 'John_Doe'; grades(class).John_Doe.Math(10,21:30) = ... [85, 89, 76, 93, 85, 91, 68, 84, 95, 73];
Use getfield
to access the structure fields.
See Also
setfield
, fieldnames
, isfield
, orderfields
, rmfield
, dynamic field names
getenv | getframe |
© 1994-2005 The MathWorks, Inc.