Main Content

extractfield

Field values from structure array

Description

a = extractfield(S,name) returns the field values specified by the field name of structure S.

example

Examples

collapse all

Load a structure that contains information about roads in Concord, MA.

roads = shaperead('concord_roads.shp');
r = roads(1:5);

Get the x- and y-coordinates of the roads. Display the map, and highlight the first few elements using the color magenta.

hold on
plot(extractfield(roads,'X'),extractfield(roads,'Y'));
plot(extractfield(r,'X'),extractfield(r,'Y'),'m');

Figure contains an axes object. The axes object contains 2 objects of type line.

Extract the names of the roads, stored in the field STREETNAME. The field values are character vectors, so the result is returned in a cell array.

names = extractfield(r,'STREETNAME');

Extract the X field from the structure and examine the format of the returned values. All values have the same numeric data type (double), so the result is returned in a vector.

uniformType = extractfield(r,'X');

For illustrative purposes, change the X field value in one of the elements to have a different data type. This command converts the second element to data type single.

r(2).X = single(r(2).X);

Extract the X field values again. This time, the values have different data types, so the result is returned in a cell array.

mixedType = extractfield(r,'X');

Input Arguments

collapse all

Structure, specified as a structure.

Field name, specified as a case-sensitive string scalar or character vector.

Output Arguments

collapse all

Extracted field values, returned as a 1-by-n numeric vector or cell array. n is the total number of elements in the field name of structure S, that is, n = numel([S(:).(name)]). a is a cell array if any field values in the field name contain a character vector or if the field values are not uniform in type; otherwise a is the same type as the field values. The shape of the input field is not preserved in a.

Version History

Introduced before R2006a

See Also

|