主要内容

本页采用了机器翻译。点击此处可查看英文原文。

extractfield

结构体数组中的字段值

说明

a = extractfield(S,name) 返回结构体 S 中由字段 name 指定的字段值。

示例

示例

全部折叠

加载包含马萨诸塞州康科德市道路信息的结构。

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

获取道路的 xy 坐标。显示地图,并用洋红色突出显示前几个元素。

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.

提取存储在字段 STREETNAME 中的道路名称。字段值是字符向量,因此结果以元胞数组形式返回。

names = extractfield(r,'STREETNAME');

从结构体中提取 X 字段,并检查返回值的格式。所有值都具有相同的数值数据类型 (double),因此结果以向量形式返回。

uniformType = extractfield(r,'X');

为便于说明,请将其中一个元素的 X 字段值更改为不同的数据类型。此命令将第二个元素转换为数据类型 single

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

再次提取 X 字段的值。这次,这些值具有不同的数据类型,因此结果以元胞数组的形式返回。

mixedType = extractfield(r,'X');

输入参数

全部折叠

结构,指定为结构体。

字段名称,指定为区分大小写的字符串标量或字符向量。

输出参量

全部折叠

提取的字段值,以 1×n 的数值向量或元胞数组形式返回。n 是结构体 S 中字段 name 的总元素数,即 n = numel([S(:).(name)])。若字段名称中的任何字段值包含字符向量,或字段值类型不统一,则 a 为元胞数组;否则 a 与字段值类型相同。输入字段的形状在 a 中未被保留。

版本历史记录

在 R2006a 之前推出

另请参阅

|