【发布时间】:2016-05-29 01:13:54
【问题描述】:
我遇到了以下问题:我有一个结构数组,并想从向量中的该结构中提取一个字段。
该结构有 5 个字段,其中一个称为“名称”。如何在向量中获取这些?
【问题讨论】:
我遇到了以下问题:我有一个结构数组,并想从向量中的该结构中提取一个字段。
该结构有 5 个字段,其中一个称为“名称”。如何在向量中获取这些?
【问题讨论】:
您可以使用the extractfield method:
yourNameFieldsAsArray = extractfield(yourStruct, 'name')
如果name 字段存在,则yourNameFieldsAsArray 将是一个元胞数组,例如字符/字符串值,或者如果 name 字段仅包含整数,则为常规值数组。
【讨论】:
dfri 的答案有效,但需要 MATLAB Mapping Toolbox。您可以使用
{yourStruct.name} 将它们作为单元格数组或[yourStruct.name] 将它们作为数组:
>> A(1).name='a';
>> A(2).name='b';
>> A(3).name='c';
>> {A.name}
ans =
'a' 'b' 'c'
或者,
>> A(1).num=10;
>> A(2).num=5;
>> A(3).num=25;
>> [A.num]
ans =
10 5 25
【讨论】: